Copyright: Copyright 1993 Microsoft Corp.
Citation: Copyright 1993 Microsoft Corporation. All rights reserved.


 FoxPro Tips

Prepared 05/02/94

 FoxPro KB Tips

THE INFORMATION IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES EITHER EXPRESSED OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FORGOING EXCLUSION OR LIMITATION MAY NOT APPLY.


FoxPro KB Tips
 FoxPro Tips

 FoxPro KB Tips

 FastTips for FoxPro for MS-DOS: Installation Q&A

 FastTips for FoxPro for MS-DOS: Network Issues Q&A

 FastTips for FoxPro for MS-DOS: Converting to 2.5 Q&A

 FastTips for FoxPro for MS-DOS: Printing Q&A

 FastTips for FoxPro for MS-DOS: Screens & Importing Data Q&A

 FastTips for FoxPro for MS-DOS: BROWSE Command Q&A

 FastTips for FoxPro for MS-DOS: Creating Apps & EXEs Q&A

 FastTips for FoxPro for Windows: Installation Q&A

 FastTips for FoxPro for Windows: Cross-Platform Q&A

 FastTips for FoxPro for Windows: Interface Features Q&A

 FastTips for FoxPro for Windows: Report Writer Q&A

 FastTips for FoxPro for Windows: Screen Builder Q&A

 FastTips for FoxPro for Windows: Using FoxPro for Windows

 FastTips for FoxPro for MS-DOS: New Features Q&A

 FastTips for FoxPro for Mac: Installation & Configuration Q&A

 FastTips for FoxPro for Mac: Cross-Platform Q&A

 FastTips for FoxPro for Mac: Interface Differences Q&A

 FastTips for FoxPro for Mac: General Interface Q&A

 FastTips for FoxPro for Mac: Screen Builder Q&A

 FastTips for FoxPro for Mac: Report Writer Q&A

 PRB: Cannot Modify Table/Database Structure

 PRB: ODBC Icon Does Not Appear in Windows Control Panel

 INF: Pressing LEFT ARROW or RIGHT ARROW Key Terminates Popup

 INF: List of Problems Identified in FoxPro 2.5b for MS-DOS

 INF: List of Problems Identified in FoxPro 2.5b for Windows

 PRB: Pink System Highlight Causes FoxPro for Mac to Turn Pink

 INF: How to Add Information to Existing Data in a Field

 INF: INSTALL.TXT Only Describes Standard Mode Memory Options

 INF: BROWSE Clauses Saved by PREFERENCE

 PRB: Linked Bitmap Appears as Gray Box in FoxPro for Macintosh

 INF: Default MVCOUNT Value Increased in FoxPro for Macintosh

 PRB: Splitting a Filename in a Command Line Causes Error

 INF: Macintosh File Sharing and Exclusive .DBF Use

 PRB: STR() Rounds Instead of Truncating

 INF: Code Page Information Stored in Byte 29 of Table Header

 INF: How to Change the Report Writer's Default Font

 INF: LASER.APP and Laserdisk Library Errors in "Master Index"

 PRB: Generate Command on Program Menu Is Disabled

 INF: How to Check Available Windows System Resources

 ERR: "Too Many PICTURE Characters Specified" in @ ... GET

 PRB: <ExpC3> of PUTFILE() Is Ignored in FoxPro for Macintosh

 PRB: Windows Defined Side-by-Side May Overlap

 PRB: Application Tries to Locate Menu

 PRB: INSTALL /N Adds a Semicolon (;) to Beginning of PATH

 PRB: ADDUSER.APP Doesn't Create DOSMEM= for Default Amount

 PRB: Screen Scrolls During RUN Command

 INF: How to Determine the Coordinates of a GET Field

 FW0989: FoxPro Knowledge Base Help File on Current Issues

 INF: How to Create a Confirmation Screen Using Screen Builder

 ERR: "API Library Not Found" in Low-Memory Situations

 INF: How to Use a Portion of a Memo Field in a List Box

 ERR: Unable to Find Unknown <Array> When <Array> Is in Report

 PRB: Paper Source Not Saved in Report

 FW0983: FoxPro Error Messages Help File

 INF: Functionality of the Select Button During Setup

 ERR: "Position off Screen" in FoxPro for Macintosh Application

 INF: Contents of the "FoxPro Settings" file

 ERR: "API Library Not Found" w/ MS-DOS .PLB in FoxPro for Mac

 INF: COMMAND+<Number> Combinations in FoxPro for Macintosh

 INF: How SROWS() and SCOLS() Behave in FoxPro for Macintosh

 PRB: Strikeout STYLE Clause Ignored by FoxPro for Macintosh

 PRB: FoxPro for Macintosh Won't Display > 5 Levels of Submenus

 INF: FoxPro for Macintosh Installer/Setup Memory Requirements

 INF: Character Field Transferred to Microsoft Excel as Numeric

 INF: GETFILE() and PUTFILE() Return Values in Uppercase

 INF: BROWSE Speed in FoxPro for Macintosh and FoxBASE+/Mac

 INF: Parts of FoxPro for Macintosh That Require FOXTOOLS.MLB

 INF: Creating Comma-Delimited File That Retains Trailing Space

 INF: How to Use Custom Colors in Screen or Report Rectangles

 INF: Windows Programming Limitations in FoxPro Interface

 INF: How to Enable One Check Box While Disabling the Others

 PRB: Valid Routine Results in "Record Not Locked" Error

 INF: Valid Routine to Convert Character Data to Lowercase

 INF: How to Import ASCII Files with Nonstandard Delimiters

 PRB: System Errors When Using SET LIBRARY TO in FoxPro for Mac

 PRB: FoxPro for Mac Does Not Rotate with Radius Pivot Monitor

 ERR: "Unimplemented Trap Error" on Accelerated Macintoshes

 ERR: "Type 1 System Error" When COMMAND+O Used to Open File

 ERR: "Compiled Code for This Line Too Long" Error Message

 INF: How to Use the Report Writer to Preview or Print Graphics

 INF: How to Perform DDE with DDEDATA.APP

 PRB: PROCOLOR.APP Does Not Work with FoxPro 2.5 Color Sets

 INF: Wrong Syntax for ?|?? in FoxPro for Windows Online Help

 PRB: "Invalid Function Argument Value..." Running CKSAMPLE.APP

 INF: How to Download Files from the MSL on CompuServe

 INF: Backslash Character in Folder Name Will Cause Errors

 PRB: SET TALK ON Does Not Work with SET STATUS BAR ON

 PRB: Natural Order of STATES.DBF Not Completely Alphabetic

 PRB: Copied QuickTime Movie Appears to Play in Fast Forward

 INF: Printing Screen Snapshots in FoxPro for Macintosh

 PRB: Help Compiler Crashes with Word 6.0 for Windows RTF Files

 PRB: System Resources Not Released While in FoxPro

 PRB: Mail Merge Wizard Word Returns "File Access Denied" Error

 PRB: Reserved Words Invalid Table Names in FoxPro 2.0 SELECT

 INF: SYS(0) Does Not Return 1 in FoxPro 2.5

 FW1003: FoxPro for Windows Resource Kit

 INF: List of Problems Identified in FoxPro 2.5b for Macintosh

 INF: Pause Key Combination Doesn't Work in FoxPro for Mac

 PRB: "Unrecognized Phrase/Keyword" w/ Calculated BROWSE Field

 INF: How to Emulate Function Keys in FoxPro for Macintosh

 PRB: Variables Used in UDF Called by Report Display on Desktop

 PRB: Mouse Cursor Disappears in a DO WHILE Loop

 PRFOX: SET('COLOR') Returns Null in FoxPro 2.5 for Windows

 PRB: Error Messages with CD-ROM Database

 PRB: Function or Procedure in Setup Causes Screen to Quit

 INF: DDE Commands Must Be Bracketed for Non-Windows Platform

 PRB: "Mismatched Case Structure" with Multiplatform .SCX File

 INF: Changes in SET LIBRARY TO Functionality

 PRB: @ ... SAY Command in Format File Causes Extra Column

 PRB: Commands in dBASE Format File Ignored During BROWSE

 INF:Use of *# USERPOSTCOMMAND Screen Generator Directive

 PRB: MEMORY() and MEMORY(0)  Don't Return Same Value

 INF: Tab Order of Navigation Buttons in 2.6 Wizards

 INF: _PDRIVER Incorrectly Documented in FoxPro 1.02

 ERR: ODBC Error IM002 (0): Data Source Not Found...

 INF: How to Make an MS-DOS Level SQL Server Connection

 INF: Limitations of Run-Time MS Graph

 INF: SAY Field Refresh Option Causes Hidden Window to Reappear

 PRB: Cannot Set A3 or 8.5x12 Page Size with PostScript Driver

 PRB: Wrong Version of DK Causes "Insufficient Memory" in .EXE

 PRB: Macro Substitution Doesn't Work with M Prefix

 INF: PRINTSTATUS() Always Returns .T. in FoxPro

 INF: FoxPro 2.6 for MS-DOS: Most Frequently Asked Questions

 INF: FoxPro 2.6 for Windows: Most Frequently Asked Questions

 PRB: Pressing BACKSPACE Key Deletes Entire Contents of Field

 INF: How to Hide Deactivated Screens in a Screen Set

 PRB: Lines Overlap or Overwrite Each Other (FoxPro for MS-DOS)

 PRB: FPD SAVE SCREEN .MEM Files Display Improperly in FPW

 PRB: SQL - SELECT with TRIM() Doesn't Trim Field Results

 PRFOX: Cannot Reference SQL-SELECT Cursor Name in FoxPro 2.0

 PRB: "Cannot Modify Attributes" with SETUP /A on Novell 3.11

 INF: Date of .EXE Is Date of Decompression Not Date of Build

 PRB: Color Pair Listing in Online Help File Incorrect

 PRB: SQL Cursor Name with Blanks Causes "Invalid Name"

 INF: Long Filenames in FPM Truncated to First 10 Characters

 INF: Error in Quick Report Saving Procedure in Getting Started

 ERR: "SQL Column '<Memvar>' Not Found" and Empty RQBE Window

 INF: How to Dynamically Change the Page Length of a Report

 INF: How to Index on Numbers in a Character Field

 PRB: Sort Order in Dialog Boxes Differs Between Platforms

 PRB: FoxPro for Windows Cannot Use GetMenuString() Function

 INF: How to Send Multiple Mail Messages with FoxPro Extensions

 INF: How to Hide Password and Show Entry Position in FoxPro

 PRB: Bottom Margin in Report Incorrect w/ Multiple Memo Fields

 ERR: Setup Wizard: Folder Is Empty or Folder Does Not Exist

 INF: How the EVALUATE() Function Works

 INF: Technical-Support Numbers for Fox Developers

 INF: How to Print Multiple Columns in FoxPro for MS-DOS

 INF: SET PATH TO Syntax for Folder Names with Spaces

 INF: Creating a Report for a One-to-Many Relationship

 ERR: File "DELHAND.PRG" Does Not Exist

 INF: Automatic Record Locks Placed by 2.6 Commands

 INF: Popup Not Cleared in FoxPro for Windows

 INF: How to Replace a String in a Text File

 INF: SET FIELDS TO Causes "No Fields to Process" Error

 PRB: ADIR() Incorrectly Reports That a File Exists

 INF: How to Copy a General Field from One Record to Another

 PRB: Getting Started Queries Cause "Invalid Path or Filename"

 INF: _ASSIST System Memory Variable

 INF: FoxPro 2.6 CREATE QUERY <File> NOWAIT Pauses Execution

 INF: Cannot Add Label Layouts to Label Wizard

 INF: Maximum DDESetOption("Timeout") Value

 PRB: Report Wizard with No Fields Selected Displays All Fields

 PRB: System Capacities for FoxPro 2.5b for Macintosh

 INF: How to Convert a FoxPro 2.5 Report File to 2.0 Format

 PRB: Lost LAN Manager Network and Printer Connections

 INF: How to Make GENXTAB.PRG Work with Any Table/.DBF

 INF: New Features of FoxPro Version 2.6 Connectivity Kit

 PRB: Parent Folder Icon Not at Top of List in Filer

 PRB: Programs with Matching Name Cause Wrong Program to Run

 PRB: Word 2.0 Produces Errors When Using Mail Merge Wizard

 PRB: ESC Key Does Not Quit Catalog Manager

 INF: Catalog Manager Cannot Pack Database Files

 INF: CompuServe README.TXT File for 2.5, 2.5a, & 2.5b Patches

 PRB: "Cannot Start Microsoft Word" Error When Doing Mail Merge

 PRB: Global Printer Driver Changed with REPORT FORM PDSETUP

 PRB: Table Order Cleared When Table Name Double-Clicked

 PRB: Memory Not Released in BROWSE with ON ERROR

 Transporting Screens with PICT Files from Macintosh to Windows

 PRB: Command Window Moves Behind Main FoxPro Window

 PRB: @ ... SCROLL Command Causes "Unrecognized Phrase/Keyword"

 INF: How to Create a Table Using FoxPro Connectivity Kit

 INF: How to Insert Records in SQL Table Using Connectivity Kit

 INF: "Syntax Error" When Verifying UDF() in Report Writer

 INF: How to Install the Sample Catalog for FoxPro for MS-DOS

 INF: Terminology Differences Between dBASE and FoxPro

 DKSETUP.PRG Contains References to Earlier Versions of FoxPro

 INF: FoxPro 2.6 Enhancements to the Xbase Language

 PRB: Can't Rearrange Selected Field Order in Screen/Report Wiz

 ERR: "Wrong Version of Word Is Running. Mail Merge Cancelled."

 PRB: ??? Command Issued Before Running Report Is Ignored

 PRB: "Attempt to Use FoxPro Function As an Array" Error

 PRB: Catalog Manager Allows Incorrect File Types to Be Added

 INF: How to Determine Number of Records Returned by SQL-SELECT

 PRB: FoxPro for Mac Displays Dialog Boxes in Unreadable Font

 INF: How to Disable Browse Field "Select on Entry" Behavior

 PRB: TAB Key Does Not Trigger List Box's VALID Clause

 INF: How to Create a Menu with a Variable Pad

 PRB: ACTIVATE WINDOW Causes "Syntax Error" Message

 INF: How to Create and Use Catalog (.FPC) Files

 INF: Unsupported dBASE IV Commands

 INF: How to Set Width of Embedded Memos in Text Merge Output

 INF: How to Undo ON KEY LABEL ENTER Command After Error

 INF: Converting dBASE Files to FoxPro

 INF: New and Enhanced Commands and Functions in FoxPro 2.6

 CLEAR SCREENS Causes "Unrecognized Phrase/Keyword in Command"

 INF: Description of Catalog Manager's AutoScreen Tool

 INF: How to Automatically Move Cursor to End of EDIT Field

 INF: How to Call GENXTAB.PRG

 PRB: "Getting Started" Report Has Asterisks Instead of Numbers

 PRB: File GSCHAP4.QPR or GSCHAP5.QPR Does Not Exist

 PRB: Hot Keys Don't Work When Selection Cursor Is in File List

 INF: Description of Catalog Manager Tools

 INF: SQL Differences Between dBASE and FoxPro

 INF: DISPLAY STATUS Doesn't Display Processor Type in FPM

 INF: Creating a Printer Driver Setup User Procedure

 INF: Object Selection/Deselection Shortcut in Report Writer

 PRB: SET SAFETY OFF Still Asks to Overwrite Existing App

 INF: Using the Dollar Sign as a Relative Coordinate in FoxPro

 INF: How to Print Check Boxes Instead of Y/N in FoxPro Reports

 PRB: FoxApp Allows Any Type of File to Be Entered

 INF: Creating Hot Keys for Objects Other Than Push Buttons

 PRB: SET PRINTER ON and ??? Cause an Unnecessary Page Eject

 PRB: Tables Created in FoxPro for Mac Have Truncated Names

 INF: How to Use INKEY() to Get an ASCII Code

 PRB: Can't Create Compact .EXE File Because Button Is Disabled

 INF: Description of the Screen Wizard

 INF: Description of the Multi-Column Report Wizard

 PRB: dBASE Report with Similar Name Overwrites FoxPro Report

 INF: How to Add Icons After Distributed Setup Program Is Run

 PRB: "Syntax Err/Missing Operand" w/ .DBF Created in Other App

 INF: How to Programmatically Call the Wizards Dialog Box

 PRB: "Overwrite Invalid FoxUser File..." Each Time Fox Starts

 PRFOX: .DBF-Style Help Causes Empty Window and Error Message

 INF: Description of the Table Wizard

 INF: What Catalog Manager's dBASE Program Check Box Does


FastTips for FoxPro for MS-DOS: Installation Q&A

Article ID: Q96154

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

               FP0913: INSTALLATION QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro version 2.5 for

MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

| --------------------------------------------------------------------|

1.  Q. Why does the FoxPro installation process sometimes stop before

       allowing the installation of optional components?

    A. If you have terminate-and-stay-resident (TSR) programs running,

       you may want to remove them. Sometimes in low-memory

       conditions, the installation program is unable to determine

       whether to run the Standard (FOXPRO.EXE) or the Enhanced

       (FOXPROX.EXE) version to complete the installation. For more

       information on installing optional components not specified

       during installation, see Question 2 ("How do I install

       addtitional files that I did not specify during

       installation?").

2.  Q. How do I install additional files that I did not specify during

       installation?

    A. Restart FoxPro by typing FOX at the MS-DOS command prompt and

       pressing the ENTER key. Insert any one of the product disks in

       the floppy disk drive and type the following command in

       FoxPro's Command window:

          do install

       You will then be prompted to insert the disk or disks that

       contain the additional files that you want to install. If you

       attempt to install from a drive other than drive A, you will be

       instructed to select another source drive after the "Abort,

       Retry, Fail?" message.

3.  Q. Why does FoxPro reboot during the installation process?

    A. You could have an anti-virus detection program running or an

       old video driver installed. Try using a different video driver

       (for example, use VGA.DRV from Windows) and running with a

       minimum CONFIG.SYS file and AUTOEXEC.BAT file. (For more

       information on CONFIG.SYS or AUTOEXEC.BAT files, see your MS-

       DOS documentation.)

4.  Q. How does SMARTDrive affect FoxPro's performance?

    A. You may notice a substantial reduction in performance when

       SMARTDrive is loaded in the CONFIG.SYS file. In particular, the

       /DOUBLE_BUFFER switch can adversely affect performance. This

       performance degradation does not occur when SMARTDrive is

       loaded in the AUTOEXEC.BAT file. However, some systems require

       SMARTDrive to be loaded in the CONFIG.SYS file for

       compatibility. For example, when a permanent swap file is used

       on a SCSI drive, SMARTDrive must be loaded in the CONFIG.SYS

       file in order to allow Microsoft Windows to load.

 5. Q. What are the recommended BUFFERS= and FILES= settings for

       running FoxPro for MS-DOS?

    A. For best performance with FoxPro when SMARTDrive is loaded, use

       BUFFERS=10 in the CONFIG.SYS file. Using more than 10 buffers

       takes away valuable memory that FoxPro could use for

       processing.

       If you do not use a disk-caching program such as SMARTDrive,

       you should allocate enough MS-DOS buffers to hold all the

       directory entries in the subdirectory where you will be

       working. BUFFERS=40 is usually sufficient as long as the number

       of files in a subdirectory remains below 250.

       The value used in the FILES= statement should always be at

       least 10 more than the greatest number of files that you will

       have open at one time. We recommend a minimum of 40.

6.  Q. Does FoxPro 2.5 for MS-DOS operate with the DOS Protected Mode

       Interface (DPMI)?

    A. Yes. FoxPro 2.5 works with DPMI-compliant memory managers, such

       as Microsoft Windows. If you use a DPMI memory manager, you can

       control the physical memory that FoxPro uses by specifying the

       MEMLIMIT option in your CONFIG.FP file.

7.  Q. What factors influence FoxPro's startup speed?

    A. The time required to load and start FoxPro relates to the

       physical size of FoxPro, the length of the PATH statement in

       effect, the number of items that must be sought at startup, and

       other factors. Many of these items are under your control. For

       a complete discussion of these issues, refer to the "Optimizing

       Your System" section of the "Installation and Configuration

       Guide."

8.  Q. I receive the error message "Too many files open." How can I

       correct this problem?

    A. This error message can be eliminated by using one or more of

       the following methods:

        - Increase the FILES= setting in the CONFIG.SYS file.

        - If you are using a Novell network, increase the FILE HANDLES

          setting in the SHELL.CFG file.

        - If you are using the MS-DOS Share program, increase the number

          of files and locks. For example:

             share /F:4096 /L:500

9.  Q. The Standard version of Microsoft FoxPro for MS-DOS runs

       correctly, but when I load the Extended version, I receive the

       error message "Incompatible memory manager." What causes this

       problem?

    A. This error can occur if your memory manager is improperly

       configured. Verify that the memory manager is configured to

       create expanded memory. For further information on the Extended

       version of FoxPro, please refer to the "Optimizing Your System"

       section of the "Developer's Guide."

10. Q. I receive the error message "Run command failed." How can I

       correct this problem?

    A. This error is caused by one of the following conditions:

       Microsoft FoxPro for MS-DOS cannot find the COMMAND.COM file.

       If this is the case, use SHELL= with the /P parameter in your

       CONFIG.SYS file to specify the location of the COMMAND.COM

       file.

       -or-

       If the location of COMMAND.COM is explicitly given in the

       SHELL= statement, FoxPro does not have enough conventional

       memory to execute the SHELL command. If this is the case, use

       FoxSwap to execute the command. For example, use RUN /0 DIR

       instead of RUN DIR. (RUN /0 automatically makes all available

       conventional memory accessible.)

11. Q. Why do I have several files with the extension .TMP on my hard

       disk?

    A. Every time you run Microsoft FoxPro for MS-DOS, it creates

       temporary (.TMP) files. These files are automatically deleted

       when you quit FoxPro with a normal shutdown. However, the .TMP

       files will not be erased if you reboot the machine while FoxPro

       is running or if you don't have file-deletion rights in the

       directory where the files reside. To remove the .TMP files,

       exit FoxPro, acquire file-deletion rights for the directory

       where the .TMP files are, and then delete the .TMP files.

12. Q. When I try to start a second instance of FoxPro 2.5 for MS-DOS

       under Windows, I get the error "Cannot access file at this

       time." This only happens when I am running multiple instances

       of the same copy of FoxPro on a stand-alone machine. What

       causes this problem?

    A. This problem is caused by an incompatibility with the MS-DOS

       Share program. To work around this problem, do one of the

       following:

        - Mark the FOXPRO.EXE file as read-only.

        - Run FoxPro under Windows for Workgroups.

        - Run a copy of FoxPro for MS-DOS from a network location.

13. Q. I'm running Microsoft FoxPro 2.5 for MS-DOS, under Windows.

       What memory allocation options are available with the PIF

       settings?

    A. In the Memory Requirements section of the PIF Editor, KB

       Required and KB Desired can both be set to -1. This tells

       Windows to give all available memory to an MS-DOS-based

       application. This doesn't mean that the MS-DOS-based

       application gets more than 600K of memory, but it gets as much

       conventional memory as you had available before starting

       Windows (minus some conventional memory that Windows itself

       occupies).

       Changing the EMS Memory and XMS Memory sections tells Windows

       whether or not to provide the MS-DOS-based application an

       Expanded Memory Specification (EMS) or Extended Memory

       Specification (XMS). However, this does not allow an

       application that doesn't support EMS or XMS to do so. Only

       applications that can use EMS or XMS will be able to access

       additional memory. It's important to note that once you tell

       Windows to create EMS or XMS for an application, it does so

       whether the application can use it or not.

       If Exclusive is selected in the Execution section, no other

       application, be it Windows or MS-DOS based, can run when the

       exclusive application is the current application.

       The Advanced Options setting in the Multitasking Options

       section is very important when you want an MS-DOS-based

       application to run in the background. If an MS-DOS-based

       application is very I/O intensive (reads and writes to disk,

       performs asynchronous communication, and so on), it is

       necessary to increase the Background Priority option value.

       Unfortunately, there is no rule of thumb when it comes to the

       exact value that should be used. It's important to note that

       the larger the value for Background Priority, the slower other

       applications will run while the MS-DOS-based application with

       the higher priority is running in the background.

For additional information, refer to the "Learning More About PIF

Settings" entry in online Help.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: Network Issues Q&A

Article ID: Q96155

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

              FP0914: NETWORK ISSUES QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|  -------------------------------------------------------------------|

1.  Q. When a second user runs Microsoft FoxPro for MS-DOS on my

       network, the error message "File in use by another" is

       displayed. How can I correct this problem?

    A. If you are on a peer-to-peer network, you first must load the

       MS-DOS Share program and then verify that the FoxPro files are

       marked as read-only. The FOXUSER database can be shared only if

       the file is marked "R-O" (read-only). If you receive this error

       message when you try to open a database file, make sure that

       both users have EXCLUSIVE set to OFF.

2.  Q. Where does FoxPro store its temporary files on a network?

    A. FoxPro creates its temporary files in the current working

       directory unless you specifically designate an alternative

       location by including one or more of the EDITWORK, SORTWORK,

       PROGWORK, or TMPFILES statements in the CONFIG.FP file.

       If the local workstations have sizable hard disk drives with

       plenty of free space, you can improve performance in a

       multiuser environment by placing FoxPro's temporary work files

       on the local hard disk drive or on a RAM drive. Redirecting

       these files to a local hard disk drive or a RAM drive provides

       additional speed by reducing the need to access the network

       drive, therefore reducing the amount of network traffic.

       On small networks with older workstations that have slower hard

       disk drives, better performance is sometimes obtained by

       leaving FoxPro's temporary files on the file server. When in

       doubt, direct FoxPro to store temporary files on a local hard

       disk drive.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: Converting to 2.5 Q&A

Article ID: Q96156

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

         FP0915: CONVERTING TO FOXPRO 2.5 QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|  -------------------------------------------------------------------|

1.  Q. Are my existing FoxPro 2.0 screens and reports compatible with

       FoxPro 2.5?

    A. The structure of the databases created by the Power Tools have

       changed in FoxPro 2.5. When you first open files of these

       types, FoxPro 2.5 converts them to FoxPro 2.5 format (with your

       permission). This conversion is a one-way process--files that

       have been converted to 2.5 formats can no longer be opened in

       2.0.  You may want to make backups before converting.  For more

       information about specific FoxPro 2.5 file formats, see the

       "Tables" chapter in the "Update Guide."

2.  Q. Can existing library files created with the FoxPro 2.0 Library

       Construction Kit be used in FoxPro 2.5?

    A. Library files created with the FoxPro 2.0 Library Construction

       Kit must be relinked before they can be used in FoxPro 2.5. If

       you purchased a library, contact the vendor that originally

       provided the library for information on an updated version.  If

       you have the original source code for the library, just relink

       the library.

3.  Q. I have some existing programs compiled under FoxPro 2.0.  Are

       they compatible with FoxPro 2.5?

    A. Programs compiled under FoxPro 2.0, such as .APPs and .FXPs,

       are not compatible with FoxPro 2.5. To run such programs in

       FoxPro 2.5, you must rebuild them. For more information about

       rebuilding FoxPro 2.0 applications, see the section "Using

       Files from Other Platforms" in the "Update Guide."

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: Printing Q&A

Article ID: Q96157

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

                 FP0917: PRINTING QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

| Novell is a registered trademark of Novell, Inc.                    |

|---------------------------------------------------------------------|

1.  Q. When I try to print boxes, ASCII characters are printed instead

       of boxes. How can I correct this problem?

    A. In the Printer Setup dialog box, specify a printer setup

       appropriate for your printer. If you are already using a

       printer driver, modify the P_CODES database in order to send

       the codes appropriate to your printer, and rebuild the

       GENPD.APP file. If you are not using a printer driver, send the

       proper escape codes to the printer before you print using the

       "???" command.

2.  Q. I am using the Relational Query By Example (RQBE) system to

       send data to a report. The data in the report is incorrect; the

       report prints the same record over and over. How can I correct

       this problem?

    A. When you created the report, you used alias names in your field

       definitions. To correctly display the data in your report,

       simply modify the report by removing the alias names. For

       example, a field containing CUSTOMER.NAME should be modified to

       contain only NAME.

3.  Q. Why can't I select the Printer Driver check box in the Printer

       Setup dialog box?

    A. This problem occurs if any of the following is true:

        - You are missing the GENPD.APP file.

        - The _GENPD memory variable is set incorrectly.

        - The resource file is turned off.

        - The FOXUSER file is missing, damaged, or marked as read-only.

4.  Q. I am using a Novell(R) network. I can print by using the Novell

       CAPTURE command, but the SET PRINTER TO \\SPOOLER command

       doesn't work. How can I correct this problem?

    A. If you receive the error message "Printer not ready," make sure

       there are no spaces after the \\SPOOLER section of this

       command. If the printer information does not print until you

       quit FoxPro, you must issue the SET PRINT TO command in order

       to release the print spooler.

5.  Q. I can't make the printer drivers work in an executable file.

       How can I correct this problem?

    A. Open the project to make sure that the GENPD.APP file is

       included in the project as an application. If it is not

       included, add the GENPD.APP file to the project as an

       application.

       NOTE: The GENPD.APP file is automatically marked as an

       excluded project element.

       Rebuild the project and your executable file. Make sure that

       you distribute the GENPD.APP, FOXUSER.DBF, FOXUSER.FPT, and

       FOXSWAP.COM files with your executable file.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: Screens & Importing Data Q&A

Article ID: Q96158

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

        FP0918: SCREENS AND IMPORTING DATA QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

SCREENS

=======

1.  Q. Every time I try to generate a specific screen, I have to add

       my supporting screens to the screen set. How can I avoid this?

    A. To save these options, you must create a project and include

       the screens as a screen set.

2.  Q. When I create a screen set with more than one window, how do I

       move through my windows?

    A. If all the windows in your screen set are READ windows, use the

       PAGE UP key, the PAGE DOWN key, or modify the value of the

       system memory variable _CUROBJ to cycle through the windows of

       your screen set. If any of the windows in your screen set is

       not a READ window (for example, a Browse window), you need to

       use the CTRL+F1 key combination to cycle through the screen

       set.

IMPORTING DATA

==============

1.  Q. How do I import a data file into Microsoft FoxPro for MS-DOS?

    A. To import a data file, use either the IMPORT command or the

       APPEND FROM command. If you receive the error message "String

       too long to fit," insert a carriage return and a linefeed after

       each string of data. A wide range of file formats is supported;

       a complete list can be found in the "Commands & Functions"

       manual.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: BROWSE Command Q&A

Article ID: Q96159

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

              FP0919: BROWSE COMMAND QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft and MS-DOS are registered trademarks and Windows is a     |

| trademark of Microsoft Corporation.                                 |

|---------------------------------------------------------------------|

1.  Q. I modified the structure of my database, but when I use the

       BROWSE command on the file, I don't see the changes. How can I

       correct this problem?

    A. If you cannot see your changes, you are most likely using the

       BROWSE command from the System menu or the View window, or you

       are issuing a BROWSE LAST or BROWSE PREFERENCE command from the

       Command window. To see these structural changes, you must first

       issue a plain BROWSE command from the Command window to display

       the new default version of the database.

2.  Q. When I press the CTRL+N shortcut key combination in my program

       to append a new record in the Browse window, I get the musical

       note instead. How can I correct this problem?

    A. CTRL+N is a shortcut key combination associated with the System

       menu. In your program, you need to issue the command SET SYS-

       MENU ON and/or use a BROWSE command instead of the BROWSE NO-

       MENU command.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: Creating Apps & EXEs Q&A

Article ID: Q96160

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

   FP0920: CREATING APPLICATIONS AND EXECUTABLES QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

1.  Q. An application I have created does not allow me to edit my

       database files. How can I correct this problem?

    A. Mark your database as "excluded" in the project, then rebuild

       your application. You must distribute these files to your end

       users. Including the database in the project automatically

       marks these files as read-only.

2.  Q. Why can't I build an executable file from within my project?

       The options to do so are dimmed and unavailable.

    A. To build an executable file, you must purchase the Microsoft

       FoxPro Distribution Kit and install it in your FoxPro

       directory. Prior to installing the FoxPro Distribution Kit,

       make sure that the FoxPro files are not marked as read-only.

3.  Q. When I attempt to build an executable file, I receive the error

       message "Link command failed." How can I correct this problem?

    A. If you receive this error message, check the following items:

        - Make sure that you have enough conventional memory.

        - Make sure that you have enough disk space.

        - Increase the number of file handles available to Microsoft

          FoxPro for MS-DOS. To do this, you can increase the FILES

          setting in the CONFIG.SYS file, or increase the FILE HANDLES

          setting in the SHELL.CFG file.

        - Make sure that FoxPro can find your COMMAND.COM file.

        - Make sure that the following files are on your search path:

          WLINK8.EXE, PROAPI16.EXE, and FOXSWAP.COM.

        - If you are running the Extended version of FoxPro, make sure

          that DOSMEM=ON is not on in your CONFIG.FP file.

4.  Q. My executable file runs correctly under the development

       version, but I receive the error message "Feature not

       available" under the stand-alone version. How can I correct

       this problem?

    A. First, check the "Features Not Available" list in the FoxPro

       Distribution Kit documentation. Certain features used for

       development are not available in the applications and

       executables you create. If you still encounter problems, it is

       possible that you are using a macro substitution in your

       program. You must either eliminate the macro substitution or

       include a program that issues the proper command, but is never

       called, in your project.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Windows: Installation Q&A

Article ID: Q96170

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

              FW0929: INSTALLATION QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 10/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Windows(TM).

-----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

| SuperStor is a trademark of AddStor, Inc.                           |

| LANtastic is a registered trademark of Artisoft, Inc.               |

| AST is a registered trademark of AST Research, Inc.                 |

| COMPAQ is a registered trademark of Compaq Computer Corporation.    |

| Dell is a registered trademark of Dell Computer Corporation.        |

| NEC is a registered trademark of NEC Corporation.                   |

| Stacker is a registered trademark of STAC Electronics.              |

| TIGA is a registered trademark of Texas Instruments, Inc.           |

|---------------------------------------------------------------------|

This FastTip script provides answers to common questions about

installing and configuring FoxPro for Windows on a network

installation.

Network Setup

-------------

1.  Q. How do you perform an Administrative Setup of FoxPro on a

       network?

    A. In a network environment, you first must install FoxPro on the

       server by using the Administrative Setup option (setup /a).

       Administrative Setup decompresses all the FoxPro for Windows

       files and the Setup files onto the network drive, marking the

       FoxPro files as read-only. Once FoxPro is installed on the

       server, you can then set up each workstation by using Setup

       with the /n option. Workstation Setup copies the FoxPro

       resource files FOXUSER.DBF and FOXUSER.FPT to the local disk.

       To perform an Administrative Setup, perform the following two

       steps:

       1. In the Windows Program Manager, choose Run from File menu.

          The Run dialog box appears.

       2. In the Command Line box, type a:\setup /a or b:\setup /a,

          depending on which floppy disk drive you are using, and then

          press ENTER.

          During Setup, you will be prompted for user information and

          an installation directory, default drive, path name, and so

          on. For more information, see "Instructions for

          Administrative Setup" in the "Installation and

          Configuration" guide for FoxPro for Windows.

2.  Q. How do you perform a Workstation Setup of FoxPro on a network?

    A. To set up individual workstations, use the Workstation Setup

       option, which requires a previous Administrative Setup. The

       Workstation Setup option sets up a workstation to run a shared

       network version of FoxPro for Windows by copying FoxPro

       initialization files, updating some common .DLL files, and

       creating a program group and program icon on the workstation.

       A Workstation Setup can be performed from the network or from

       disk. To install from a network drive, open the Windows File

       Manager, open a window with the correct network path for FoxPro

       for Windows, then run SETUP.EXE. In the Installation Type

       dialog box, choose the Workstation Installation button.

       To perform a Workstation Setup from disk, open the Windows

       Program Manager, choose Run from the File menu, type a:\setup

       /n or b:\setup /n in the Command Line box, and then press

       ENTER. For more information, see "Instructions for Workstation

       Setup" in the "Installation and Configuration" guide for FoxPro

       for Windows.

3.  Q. What network rights do I need to install FoxPro on a network?

    A. You need full network system rights to install on a network.

       Contact your system administrator for further information about

       your specific installation.

4.  Q. Why are workstation users on our network unable to use FoxPro's

       graphing and spell-checking capabilities?

    A. Workstation users need at least read-access to the MSGRAPH and

       PROOF subdirectories in order to use these features. Contact

       your system administrator regarding user access to these

       subdirectories.

5.  Q. Can I put a common WIN.INI file up on the server?

    A. No. Each workstation must have its own WIN.INI file.

General Setup

-------------

6.  Q. During installation I was asked to select either MS-DOS-style

       keystrokes or Windows-style keystrokes. Which should I choose?

    A. If you are not sure which style to use, select Windows-style

       keystrokes. Windows-style keystrokes correspond to standard

       Windows keystrokes. MS-DOS-style keystrokes let FoxPro for

       Windows behave like FoxPro for MS-DOS. Later, if you want to

       use MS-DOS-style keystrokes, add the line KEYCOMP=DOS to your

       CONFIG.FPW files. For more information about the styles of

       keystrokes, see the SET KEYCOMP TO command in the FoxPro

       "Language Reference" manual.

7.  Q. What is the minimum FILES setting for FoxPro for Windows?

    A. The minimum FILES setting is 40. During installation, FoxPro

       for Windows checks your CONFIG.SYS file. If you have a FILES

       setting less than 40, a dialog box presents you with three

       options: make the modifications for you, allow you to review

       and edit changes, or allow you to make the modifications later.

       If you allow the installation program to modify your CONFIG.SYS

       file, your old file is saved as CONFIG.OLD (or CONFIG.001 if

       CONFIG.OLD already exists). For additional information, see the

       chapter "Customizing FoxPro" in the "Installation and

       Configuration" guide.

8.  Q. Does FoxPro for Windows update any dynamic-link libraries

       (.DLLs) in the Windows subdirectory where system files are

       kept?

    A. Yes. The following .DLLs are updated: COMMDLG.DLL, DDEML.DLL,

       OLECLI.DLL, OLESVR.DLL, SHELL.DLL, TOOLHELP.DLL and VER.DLL.

       FoxPro's graphing capabilities require that the files GRAPH.EXE

       and GRAPH.HLP be stored in the WINDOWS\MSAPPS\MSGRAPH

       subdirectory.

       FoxPro's spell-checking capabilities require that the files

       MSSPELL.DLL, MSSP_AM.LEX, and MSSP_BR.LEX be stored in

       WINDOWS\MSAPPS\PROOF subdirectory.

9.  Q. I accidentally deleted some of the FoxPro sample files. Can I

       reinstall these files without reinstalling FoxPro?

    A. Yes. Run Setup again and select the Custom Installation option

       from the Installation Type dialog box. This option lets you

       choose the components you want to install.

10. Q. I'm having difficulty reading the FoxPro disks because of an

       alignment problem with my floppy disk drive. Is there another

       option for installation?

    A. One option is to copy all the files to a directory on your hard

       disk and then run the FoxPro installation from the hard disk

       instead of the floppy disk.

11. Q. I'm trying to install FoxPro for Windows under Windows 3.0 and

       I'm getting the message "Cannot write VER.DLL." How can I work

       around this problem?

    A. Rename the VER.DLL file in the Windows System subdirectory to

       some other name, such as VER.OLD.

12. Q. I'm having difficulty installing FoxPro. I've tried minimizing

       both my CONFIG.SYS and AUTOEXEC.BAT files and I still can't

       install FoxPro for Windows.

    A. If you are having installation problems, check the following:

        - Install FoxPro from the original Program Manager shell only.

          Don't try to install FoxPro from a replacement shell, such

          as Norton Desktop for Windows or other similar programs.

        - Make certain you have disabled all terminate-and-stay-resident

          (TSR) programs, such as virus-protection programs, screen-saver

          programs, and so on. Generally, TSR programs are disabled by

          "commenting out" (placing a semicolon [;] in front of) the

          appropriate LOAD= and RUN= lines in the WIN.INI file.

13. Q. What is the best tool for editing the WIN.INI file?

    A. Use the NotePad program, located in the Windows Accessories

       group, or the MS-DOS Editor program.

14. Q. If I modify my WIN.INI file is it advisable to restart Windows?

    A. Yes, because after you have modified the WIN.INI file, changes

       made to it aren't reflected in the current environment until

       you restart Windows. There are some exceptions, but if you are

       troubleshooting, restarting Windows ensures that all changes

       are reflected in the current environment.

15. Q. Can I delete the directory named "~msstfqf.t"?

    A. Yes. The "~msstfqf.t" directory is created during setup.

       Ordinarily, this directory is deleted at the end of

       installation process, so it is okay to delete it.

Video/Memory Related Setup

--------------------------

16. Q. I get the error message "Insufficient memory" when trying to

       load FoxPro for Windows. How do I correct this problem?

    A. Increase the amount of memory available to Windows by doing one

       of the following:

        - Add more RAM to your computer. This will give you the best

          performance.

        - If you have modified Windows so that it does not use a swap

          file, create a temporary or permanent swap file.

        - If you are using a temporary swap file (which Windows uses by

          default), increase the amount of free space on the swap file

          drive. This will allow the swap file to grow to a larger size.

          Temporary swap files are slower than permanent swap files,

          but only occupy space on the hard disk while Windows is running.

        - If you are using a permanent swap file, create a larger one.

          In Windows 3.0, you can modify permanent swap files by running

          SWAPFILE.EXE in real mode. In Windows 3.1, you can modify swap

          files by choosing the 386 Enhanced icon in the Control Panel and

          then choosing the Virtual Memory button. Permanent swap files

          are faster than temporary swap files, but they occupy disk space

          even when Windows is not running. Also, a permanent swap file

          cannot be used on a drive that uses a disk-compression utility,

          such as DoubleSpace, Stacker(R), or SuperStor(TM).

        - If you are using a MEMLIMIT statement in your CONFIG.FPW file,

          reduce the minimum memory parameter.

17. Q. When using my LANtastic(R) network card, I get a memory

       conflict when loading FoxPro for Windows. How can I avoid this

       conflict?

    A. This error can be avoided by putting emmexclude=d800-dfff in

       the SYSTEM.INI file in the Windows directory.

18. Q. When using a Paradise video driver, I get a memory conflict

       when trying to load FoxPro for Windows. How can I avoid this

       conflict?

    A. This error can be avoided by putting emmexclude=c600-c800 in

       the SYSTEM.INI file in the Windows directory.

19. Q. When I use QEMM386 memory manager with FoxPro for Windows, I

       get a memory conflict. How can I avoid this?

    A. This error can be avoided by putting emmexclude=c0ff-c7ff in

       the SYSTEM.INI file in the Windows directory.

20. Q. When I use the Mach32 video card with my Gateway 2000, I get a

       "General Protection Fault in module MACH32.DRV at 0003:0E22"

       error message. How can I fix this error?

    A. You are experiencing a problem with your video driver. Contact

       your video card vendor for the most recent version of the

       driver. In the meantime, you can use the VGA.DRV or the

       8514.DRV drivers that come with Windows.

21. Q. I understand that a number of video drivers do not work

       properly with FoxPro for Windows. Why is this, and what steps

       should I take to resolve the situation?

    A. FoxPro for Windows makes intensive use of screen I/O and

       requires that video drivers support a complete implementation

       of the Windows video driver standard. If you experience general

       protection (GP) faults or display problems with borders, status

       bars, fonts, or unusual alignment when you preview reports, you

       may have a problem with your video driver.

       To test for video driver problems, load one of the standard

       Windows video drivers and go through the steps to reproduce the

       problem. If the problem no longer exists when you are using a

       standard Windows video driver, it's very likely that the old

       driver was the cause of the problem. Contact the vendor for an

       updated version of the driver or download the Windows Driver

       Library (WDL) on the Microsoft Download Service (MSDL).

       We have identified problems with the following video card

       drivers:

          ATI Ultra Graphics Pro (local bus) - caused GP fault, fixed

          with update.

          AST(R) Power Premium 486 w/VGA on motherboard, fixed with

          update.

          COMPAQ(R) QVision

          Dell(R) 486/20 with VGA on motherboard

          Genoa 7900 MM card

          Mach32

          NEC(R) 2A

          Speed Star 24x

          Trident 8900C

          TIGA(R) 1024 x 768 x 256 small fonts

       Contact your video card vendor for the most recent version of

       the driver for your card. In the meantime, you can use the

       VGA.DRV or the 8514.DRV video drivers that come with Windows.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Windows: Cross-Platform Q&A

Article ID: Q96171

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

             FW0930: CROSS-PLATFORM QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 10/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Windows(TM).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

1.  Q. Can I create a FoxPro for Windows application using FoxPro for

       MS-DOS as my development platform?

    A. Applications created with FoxPro for MS-DOS can be executed by

       FoxPro for Windows without making any changes. However, the

       FoxPro for MS-DOS power tools do not support features specific

       to the Windows environment.

       While it is possible to manually code in these features, we

       don't recommend this approach to cross-platform application

       development because the code will be very specific and

       therefore not very portable. Instead, we recommend using the

       power tools provided with FoxPro for Windows.

2.  Q. I have an existing FoxPro 2.0 project. How do I make it run in

       FoxPro 2.5?

    A. You need only open the project in FoxPro 2.5 and rebuild your

       application. Screens and reports will need to be converted only

       if you decide to modify them.

3.  Q. Will I be able to create executables for FoxPro 2.5?

    A. Yes. The options for building .EXE files in FoxPro 2.5 for MS-

       DOS are the same as they are in FoxPro 2.0. In FoxPro 2.0, you

       can build stand-alone and/or compact .EXE files. Compact .EXE

       files are distributed with library files included in the FoxPro

       Distribution Kit. Stand-alone .EXE files do not require the

       FoxPro library files. The information from the libraries is

       built into a stand-alone .EXE file.

       In FoxPro for Windows, you can create the equivalent of the

       compact .EXE file. These files are distributed with the library

       files included in the FoxPro for Windows Distribution Kit.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Windows: Interface Features Q&A

Article ID: Q96172

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

           FW0931: INTERFACE FEATURES QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 10/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Windows(TM).

-----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

1.  Q. The windows and controls created in FoxPro 2.5 for Windows look

       different from those in FoxPro for MS-DOS. Why is this?

    A. The windows and controls in FoxPro 2.5 for Windows look

       different from those in FoxPro 2.5 for MS-DOS because FoxPro

       for Windows was designed to conform to the Windows 3.1

       interface guidelines for applications. These guidelines allow

       Windows 3.1 users to use the same methods of moving, selecting,

       and changing windows across all Windows-based applications.

       FoxPro windows now include Control-menu boxes and Minimize,

       Maximize, and Restore buttons.  For a complete discussion of

       window styles and terminology, consult the "Getting Started"

       manual.

2.  Q. What is the purpose of the window Control-menu box?

    A. The Control-menu box provides a quick method for moving,

       sizing, selecting, and switching windows. Clicking the Control-

       menu box opens the menu with its list of tasks. Double-clicking

       the Control-menu box closes the window.

3.  Q. I have noticed that some windows can be resized and others

       cannot. Why is this?

    A. FoxPro for Windows contains both sizable and nonsizable

       windows. Windows that contain a text-editing region are

       sizable. Examples of sizable windows are the Command window,

       the Screen Design window, and the Calendar window. These

       windows contain scroll bars and a sizing box in the bottom-

       right corner of the window.  Examples of nonsizable windows

       include the View window and the Relational Query By Example

       (RQBE) window. Nonsizable windows use only the Control-menu box

       and the Minimize button.

4.  Q. The keyboard shortcuts in FoxPro for Windows have changed.  Why

       is this? Is there a way to restore the FoxPro for MS-DOS style

       keystrokes?

    A. FoxPro for Windows uses the Windows-standard keystrokes (such

       as ENTER to select a focused choice). FoxPro for Windows

       supports both an MS-DOS keystroke mode and a Windows keystroke

       mode. Refer to FoxPro's online help for details on differences

       in the two keystroke modes. You chose at installation time

       which mode to use; however, you can change the mode at any time

       interactively in FoxPro by issuing one of the following

       commands:

          set keycomp to dos

          -or-

          set keycomp to windows

       Each time you load FoxPro, the default KEYCOMP setting is

       invoked. To permanently change the setting of KEYCOMP, change

       the CONFIG.FPW file to include the appropriate statement:

          keycomp=dos

          -or-

          keycomp=windows

5.  Q. When I create a database and press the ENTER key to add a new

       field, I find that the dialog box unexpectedly closes. Why is

       this?

    A. The keystroke navigation is different between Windows and MS-

       DOS. In FoxPro for MS-DOS, the keystroke equivalent of clicking

       the focus button is CTRL+ENTER, whereas in Windows, it is the

       ENTER key. Pressing the ENTER key in the Table Structure dialog

       box tells FoxPro you have chosen the OK button. To restore the

       MS-DOS keystroke mode in Windows, issue the command SET KEYCOMP

       TO DOS.

6.  Q. The menu for FoxPro for Windows has changed. Why is this? Is

       the MS-DOS version of the menu available?

    A. The menu in FoxPro for Windows has been modified for

       consistency with the Windows Interface Application Design

       Specification. The System menu in the FoxPro 2.0 menu bar has

       been removed, and a number of specific menu items have been

       moved elsewhere. Take a moment to explore the new menu

       structure and familiarize yourself with the changes. Note that

       a brief message describing each menu item is displayed in the

       status bar at the bottom of the main FoxPro window.

       If you are more comfortable with the menu bar layout of FoxPro

       2.0, we have provided a FoxPro menu program that recreates this

       layout. This program is called DOS.MPR and is located in the

       GOODIES subdirectory. Running this menu program replaces the

       FoxPro for Windows-style menu bar with the FoxPro 2.0-style

       menu bar layout while retaining the Text menu for multiple font

       support.

       To automatically display the FoxPro 2.0 menu bar when FoxPro

       for Windows is open, place the following command to execute the

       DOS.MPR program in the CONFIG.FPW file:

          command = do c:\foxprow\goodies\dos\dos.mpr

        NOTE: Modify the complete path specification for DOS.MPR based

        on your specific installation.

7.  Q. The Edit menu contains a number of new commands, such as Paste

       Special and Change Link.  What are these options, and how are

       they used?

    A. These new Edit menu commands support object linking and

       embedding (OLE). The options include: Paste Special, Insert

       Object, Object, Change Link, and Convert To Static. For a

       detailed discussion of OLE topics, consult the FoxPro

       "Developer's Guide." For additional information on the new Edit

       menu options, consult the FoxPro "User's Guide."

8.  Q. The Program menu contains a new command called Beautify. What

       does it do?

    A. The Beautify command makes program files easier to read by

       altering the appearance of the file. Options include altering

       the case of keywords and variables, and adding additional

       indentation within procedures and DO CASE statements. Action

       diagram symbols can also be added to the .PRG file to highlight

       program organization by bracketing specific control statements

       such as:

          IF

           DO [item]

          ELSE

           DO [item]

          ENDIF

9.  Q. The Text menu is a new feature. What does it do?

    A. The Text menu adds support for multiple fonts and text

       formatting. The Font command on the Text menu makes all your

       installed Windows fonts available in FoxPro.

        NOTE: A font option is also available for Browse windows.

       The Enlarge and Reduce Font commands change all text to the

       next available point size in the currently selected font.  To

       alter the spacing of the current text file, select Single

       Space, 1 1/2 Space, or Double Space.

       The Indent command performs a block indent by automatically

       moving a selected group of lines to the next tab stop. The

       Undent command does the opposite by moving a selected group of

       lines back to the previous tab stop.

10. Q. Occasionally an Object menu becomes visible. When is it

       displayed and why?

    A. The Object menu is available when either the Screen Builder or

       the Report Writer window is open. As with the Text and Browse

       menus, the Object menu has access to fonts. Specific commands

       on the Object menu are enabled and disabled based on the

       currently selected object.

       For example, a rectangle drawn in the Screen Design window may

       have an outline or pen color, a background or fill color, and a

       fill pattern.

11. Q. FoxPro for Windows includes the Windows-style Help dialog box.

       Is there any way to access the FoxPro 2.0-style help system?

    A. By default, FoxPro for Windows uses the Windows-style Help

       system.  To access the FoxPro-2.0 style help system, enter the

       following command in the Command window:

          set help to foxhelp.dbf

       Pressing F1 or choosing Help from the menu bar will bring up

       the FoxPro 2.0-style help system.

       To return to the Windows-style Help system, enter the following

       command in the Command window:

          set help to foxhelp.hlp

       To permanently change the help system to the FoxPro 2.0 style,

       add this statement to your CONFIG.FPW file:

          help=foxhelp.dbf

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Windows: Report Writer Q&A

Article ID: Q96173

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

              FW0932: REPORT WRITER QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 10/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Windows(TM).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

1.  Q. Should I convert all my FoxPro 2.0 reports to FoxPro for

       Windows?

    A. You may not need to. Your existing character reports will run,

       preview, and print unchanged in FoxPro for Windows. The engine

       for printing character reports is included with FoxPro for

       Windows. If you want to include graphical elements (fonts,

       pictures, and so on) in a report, then you can convert the

       reports, or create new graphical reports from scratch.

2.  Q. I used the Quick Report command to create my initial report.

       Now I want to add another field. In FoxPro for MS-DOS, the

       Report menu contained Field command that allowed me to add a

       single field. How do I do this in FoxPro for Windows?

    A. New fields may be added using the field tool located in the

       toolbox on the left side of the Report Layout window. For

       additional information on the Report Writer toolbox, see the

       FoxPro for Windows "User's Guide."

3.  Q. I have included a memo-type field in my report, but only the

       first line prints. How can I fix this?

    A. To display the entire contents of the memo field, you need to

       make the field stretch vertically to fit its contents. Double-

       click the report field and select the Top - Field Can Stretch

       option from the Position Relative To item. The field can grow

       in size depending on the length of the memo field. Select the

       Page Preview option to view the results.

4.  Q. When I place a "stretched" memo field in the Detail band, I

       find that the fields that display below the memo field are

       being overwritten by some of the longer memo fields. How do I

       avoid this?

    A. Fields or objects positioned below the memo field are still

       being displayed in a fixed position, even though the memo field

       is now stretchable. To avoid being overwritten, all objects

       below the memo field should be positioned relative to the

       bottom of the Detail band. To accomplish this, double-click

       each of the fields and select the Bottom option from the

       Position Relative To item. Select the Page Preview option to

       view the result. If your report contains side-by-side memo

       fields, fields with the Bottom option specified will be

       displayed below the longer of the two memo fields.

        NOTE: The above procedure applies to nonstretching fields and

        other objects, such as lines and text. If you have stretching

        fields placed below other stretching fields, you do not want

        to position them relative to the bottom. Stretching fields

        automatically float below other stretching fields.

5.  Q. I have placed boxes around several fields in my report. One of

       these fields is a memo field. How do I make the box stretch

       just like the memo field?

    A. Double-click the box and select the Stretch With Band option

       from the Position Relative To item. Rectangles (boxes) and

       vertical lines have the option to stretch according to the

       length of the Detail band.

        NOTE: You will not be able to place a stretching box around a

        field if the field will not be positioned relative to the top

        or the bottom of the band.

6.  Q. When I attempt to move a text object to a specific location in

       the Report Layout window, the field keeps aligning itself with

       the nearest grid line. Why is this happening?

    A. By default, objects are automatically aligned to the nearest

       invisible grid lines in the Report Layout window. This feature

       is called Snap To Grid and can be disabled by choosing Snap To

       Grid from the Report menu.

7.  Q. How do I design and print multicolumn reports in FoxPro 2.5 for

       Windows?

    A. Choose Page Layout from the Report menu and use the Columns

       spinner to select the number of columns desired. Clicking the

       up arrow increments the counter, whereas clicking the down

       arrow decrements the counter. The size of the Report Layout

       window will be modified to reflect the new column width.

       Existing field positioning may need to be modified.

        HINT: When you are creating a new report that you know you

        want set up in columns, set the layout before you add any

        fields.

8.  Q. When I enlarge the font of an object in my report and print it,

       some of the information in the fields is cut off. How can I fix

       this?

    A. The information may be cut off because the Detail band or the

       object itself isn't large enough to display the larger font.

       You may need to stretch the Detail band and/or the object

       itself to accommodate the larger font.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Windows: Screen Builder Q&A

Article ID: Q96174

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

             FW0933: SCREEN BUILDER QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 10/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Windows(TM).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

1.  Q. I don't own a mouse. How can I use the tools to create a screen

       using the keyboard?

    A. You cannot; a mouse is required to create a screen with the

       Screen Builder.

2.  Q. The Field dialog box in the Screen Design window only allows me

       to create either an input field (a GET) or an output field (a

       SAY). What happened to the Edit Field option in the Field

       dialog box?

    A. The Edit Field option is now part of the new Edit Region dialog

       box. To create an edit field, click the Edit Region tool

       located on the left side of the Screen Design window. Note that

       as you select the tool, a brief description appears in the

       status bar at the bottom of the screen.

       In the Edit Region dialog box, the Select On Entry and

       Initially Disable Edit Region options are new. For additional

       information on these options, see the help topic "Edit Region

       Dialog."

3.  Q. When I select the Push Button tool, I have a choice of three

       button options: Normal, Invisible, and Picture. Were these

       options available in FoxPro 2.0?

    A. The preexisting Invisible Button and Push Button options were

       consolidated into a single dialog box in FoxPro for Windows.

       The Picture type push button is new. You can create push

       buttons using bitmap (.BMP) picture files to graphically depict

       actions that will be initiated when particular buttons are

       selected. Picture files can also be used with option (radio)

       buttons and check boxes in FoxPro for Windows.

4.  Q. I know how to click and drag objects on the screen using the

       Selection Pointer tool. Is there an easier way to move objects

       a small distance?

    A. Yes. Select the object to be moved using the Selection Pointer

       tool. Once the object is selected, use the arrow keys to move

       the object a pixel at a time.

5.  Q. I have created a screen for my application that displays a

       number of fields. After creating the application, I used the

       keyboard to step through the fields in this screen. The order

       in which the fields were accessed was not what I expected based

       on the physical arrangement of the fields. How can I change the

       order in which the fields are accessed without changing their

       physical position?

    A. To accomplish this, return to your original screen. In the

       Screen Builder, choose Object Order from the Screen menu. This

       option opens the Object Order dialog box. Screen objects are

       listed according to their order of accessibility with the

       keyboard. To change the access order for the objects, click the

       button to the left of the object and drag the object to its new

       keyboard access position. When you are finished, rebuild your

       application to include the new field-access order.

6.  Q. When I generated screens in FoxPro 2.0, I was able to tell the

       screen generator exactly what code to generate, such as opening

       and closing files and defining or releasing windows and modal

       screens. Is this option still available? I can't seem to find

       these options.

    A. Yes. In the Generate Screen dialog box, note that there is a

       More button. Choose this button and the dialog box expands to

       display the generate code options.

7.  Q. The Color command is no longer on the Screen menu. How can I

       specify colors for my screen objects?

    A. To specify colors, first select the screen object or a group of

       objects. To modify the background color of the object, choose

       Fill Color from the Object menu. To modify the outline and text

       of an object, choose Pen Color from the Object menu.

        NOTE: The AUTOMATIC setting matches the Windows' color sets.

       To change the background of the entire screen, choose Layout

       from the Screen menu and click the Color option. You may choose

       a specific color or select a wallpaper pattern by clicking

       Wallpaper and specifying a .BMP file.

8.  Q. I have tried using an @ ... SAY command to display the contents

       of a general field. No matter what I do, nothing appears. What

       am I doing wrong?

    A. General fields are used to display OLE objects. Therefore, to

       display the contents of a general field, use the Picture tool.

       The Field tool cannot display pictures.

9.  Q. I used the Picture tool to place a picture field on my screen

       and specified the appropriate .BMP file. Can you please explain

       how the Clip Picture, Scale Picture - Retain Shape, and Scale

       Picture - Fill The Frame options in the If Picture And Frame

       Different Size group affect the display of the picture?

    A. Bear in mind that the following options apply only when the

       picture and frame are different sizes:

        - Choose the Clip Picture option if you want to retain the

          original dimensions of the picture. If the picture is larger

          than the frame, only a portion of the image will be displayed,

          beginning with the top-left portion of the picture. Any portion

          of the picture that extends beyond the frame will be hidden.

        - Choose the Scale Picture - Retain Shape option if you want to

          retain the overall shape of the picture but fill as much of the

          frame as possible. The picture will be protected from vertical

          or horizontal distortion.

        - Choose the Scale Picture - Fill The Frame option if you want to

          fill the frame completely. The picture will be horizontally or

          vertically distorted as needed to fill the frame.

10. Q. I want to create a screen that allows online editing of OLE

       objects stored in a general field while a READ command is

       active. I have tried including a picture in my screen using the

       Picture tool, but I am not able to edit the displayed .BMP

       file. Is there a way to do this?

    A. Yes. Use the Field tool to create a general field in your

       screen. Select the WHEN clause and enter the command MODIFY

       GENERAL FLDNAME in the code snippet area as a procedure. Save

       the screen changes and regenerate your screen and/or

       application. Now you will be able to edit the bi(((TM)))ap

       within the screen when the application is running.

11. Q. Why can't I type as many characters in an input field as will

       physically fit?

    A. In a proportional font, each character is given as much

       vertical space as it needs and no more. For example, a

       lowercase "f" requires much less space than an uppercase "W."

       When an input field is placed on a screen, FoxPro calculates

       the width of the field by taking the number of characters in

       the database field times the average size of a character in the

       specified font. If the field is filled with wider-than-average

       characters, the characters will not all fit in the input field,

       and so the characters scroll. If the field is filled with

       narrower-than-average characters, the characters will not

       appear to fill the input field.

12. Q. How do I control the length of a memory variable (or "memvar")

       independent of the size of an input field?

   A.  Use a PICTURE clause to control the memory variable's length in

       conjunction with a SIZE clause to control the width of the

       input field.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Windows: Using FoxPro for Windows

Article ID: Q96175

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

        FW0934: USING FOXPRO FOR WINDOWS QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 10/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Windows(TM).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

1.  Q. I occasionally experience problems when trying to open more

       than 15 database files at one time. What could be wrong?

    A. Oftentimes, this problem can occur if the MS-DOS SHARE command

       is not used correctly in the AUTOEXEC.BAT file. Make sure you

       have the correct SHARE command in your AUTOEXEC.BAT file. For

       example:

          share /f:4096  /l:500

2.  Q. I'm running Windows for Workgroups. Do I need to load Share?

    A. No. Windows for Workgroups automatically loads and uses a

       program called VShare, which takes the place of Share.

3.  Q. Where does FoxPro store its temporary files?

    A. FoxPro for Windows stores its temporary files in the same

       directory that Windows uses to store its temporary files,

       unless you specifically designate an alternative location by

       including one or more of the EDITWORK, SORTWORK, PROGWORK,

       and/or TMPFILES statements in the CONFIG.FPW file. The location

       of Windows .TMP files is specified with the MS-DOS environment

       variable TEMP. In most cases, you should let FoxPro .TMP files

       reside in the same location. However, if this location is a RAM

       drive, make sure that there is enough space available for both

       FoxPro and Windows .TMP files.

4.  Q. I used to use the RUN command to change drives and directories

       in an application when I used FoxPro for MS-DOS. However, this

       isn't working in FoxPro for Windows. Why is this?

    A. Each time you issue the RUN command to change drives and

       directories, Windows opens a new "session" of MS-DOS (otherwise

       known as a "virtual machine") and executes the command within

       the newly created session. When you exit from this session, or

       "shut down" the virtual machine, you are returned to the same

       drive and directory where you started. Because of this

       behavior, you should take advantage of FoxPro's own drive and

       directory commands to change drives and directories instead of

       using the RUN command. (For example, the SET DEFAULT TO

       C:\<NEWDIR>command actually issues the MS-DOS CHDIR command.)

5.  Q. Why isn't FoxPro registered in REG.DAT within Windows?

    A. Only OLE servers are registered in REG.DAT. FoxPro is not an

       OLE server.

6.  Q. Why doesn't the value returned by SYS(2010) match the number

       specified by the FILES setting in the CONFIG.SYS file?

    A. Windows interacts with the MS-DOS open file tables in such a

       way that the value reported in the MS-DOS box and in Windows

       may be different.

7.  Q. FoxPro for Windows automatically displays a status bar located

       at the bottom of the main window. Is it possible to remove this

       status bar? Is the MS-DOS-style status bar available?

    A. The Windows-style status bar provides the same information as

       the MS-DOS-style status bar, plus it can also display

       information about the currently selected menu name or command

       and messages created in commands. It can even display the

       system clock.

       The Windows-style status bar is displayed by default. To remove

       the status bar, either issue the following command in the

       Command window

          set status bar off

       or enter the following command in the CONFIG.FPW file:

          status bar = off

       To restore the status bar, simply substitute ON for OFF in the

       previous two commands.

       When the Windows-style status bar is active, messages created

       in commands such as DEFINE MENU, DEFINE POPUP, DEFINE BAR, @

       ... PROMPT, and so on always appear in the Windows-style status

       bar.

        NOTE: When the Windows-style status bar is active, the SET

        MESSAGE TO command used to specify a message location is

        ignored.

       When the Windows-style status bar is active, you can display

       the clock on the right side of the Windows-style status bar

       either by issuing the following command in the Command window

          set clock status

       or by entering the following command in the CONFIG.FPW file:

          clock = status

       For reverse-compatibility with existing FoxPro 2.0

       applications, FoxPro for Windows displays the character-style

       status bar when the SET STATUS ON command is issued.

8.  Q. When I issue the SET DISPLAY TO VGA50 command and then issue

       the SET DISPLAY TO VGA25 command to restore the previous

       setting, the status bar disappears. How do I restore the status

       bar?

    A. Issue the SET STATUS BAR ON command to bring the status bar

       back.

9.  Q. When I issue the ? SET("DEFAULT") command in the Command

       window, shouldn't I get a full path display rather than just

       the drive letter?

    A. No. This behavior is consistent with FoxPro 2.0 for MS-DOS.

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for MS-DOS: New Features Q&A

Article ID: Q96177

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

               FP0916: NEW FEATURES QUESTIONS & ANSWERS

======================================================================

                                                   Revision Date: 9/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for MS-DOS(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS utility diskcopy is |

| appropriate for this purpose);  3) All components of this           |

| Application Note must be distributed together;  and  4) This        |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1993 Microsoft Corporation.  All Rights Reserved      |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

| Paradox is a registered trademark of Ansa Software, a Borland       |

| company.                                                            |

|---------------------------------------------------------------------|

1.  Q. FoxPro 2.0 has 25 work areas. Has this limit been raised in

       2.5?

    A. Yes. The MS-DOS-based Extended version and Windows-based

       versions of FoxPro 2.5 have 225 work areas.

2.  Q. Are more file formats supported for direct import into FoxPro

       2.5 than in FoxPro 2.0?

    A. Yes. Support has been added to FoxPro 2.5 for importing

       Microsoft Excel 3.0, Microsoft Excel 4.0, Paradox(R) 3.5, and

       Paradox 4.0 files.

3.  Q. Are there additional language enhancements to FoxPro 2.5?

    A. FoxPro 2.5 contains additional generator directives, new system

       memory variables, and new, enhanced commands and functions. For

       a complete listing of new features in FoxPro 2.5, refer to the

       "Update Guide."

4.  Q. I have heard a great deal about cross-platform application

       development. Is this possible with FoxPro 2.5?

    A. Yes. FoxPro 2.5 allows you to create and maintain applications

       that run on multiple platforms, such as Windows and MS-DOS, and

       share data with full record locking and other features useful

       for multiuser environments. (An application that can run on

       multiple platforms is a cross-platform application.)

       You can take several approaches to writing cross-platform

       applications in FoxPro. For instance, you can run your MS-DOS-

       based applications directly in Windows with no changes. Another

       approach is to transport your application from one platform to

       another without any additional coding. The transporting

       approach is designed for applications developed with the FoxPro

       Power Tools: Screen Builder, Report Writer, and Label Designer.

       The third approach is to transport your application from one

       environment to another while maintaining separate interfaces

       for your application on each platform.

       For a detailed discussion and examples of these three options,

       refer to the section "Using Files from Other Platforms" in the

       "Update Guide."

Additional reference words: 2.50 ivrfax fasttips


FastTips for FoxPro for Mac: Installation & Configuration Q&A

Article ID: Q109067

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

     FC0956: INSTALLATION AND CONFIGURATION QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 12/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Macintosh(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application|

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER     |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED     |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      |

| PURPOSE. The user assumes the entire risk as to the accuracy and   |

| the use of this Application Note. This Application Note may be     |

| copied and distributed subject to the following conditions: 1) All |

| text must be copied without modification and all pages must be     |

| included; 2) If software is included, all files on the disk(s) must|

| be copied without modification (the MS-DOS(R) utility diskcopy is  |

| appropriate for this purpose); 3) All components of this           |

| Application Note must be distributed together; and 4) This         |

| Application Note may not be distributed for profit.                |

|                                                                    |

| Copyright (C) 1993 Microsoft Corporation. All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows|

| is a trademark of Microsoft Corporation.                           |

| Macintosh is a registered trademark and Finder is a trademark of   |

| Apple Computer, Inc.                                               |

|---------------------------------------------------------------------

Network Setup

-------------

1.  Q. How do I perform an Administrative Setup of FoxPro for

       Macintosh on a network?

    A. In a network environment, you first must install FoxPro on the

       server by using the Administrative Setup option. Administrative

       Setup decompresses all the FoxPro for Macintosh files and the

       Setup files onto the network drive (volume), marking the FoxPro

       files as read-only (locked). Once FoxPro is installed on the

       server, you can then set up each workstation by using the

       Workstation Setup option. Workstation Setup copies the FoxPro

       resource files FOXUSER.DBF and FOXUSER.FPT to the local disk.

       To perform an Administrative Setup, do the following:

       1. Insert Disk 1 of the Microsoft FoxPro Setup disks.

       2. Open the disk and then double-click or open Microsoft FoxPro

          Setup.

       3. Enter your name and organization, and confirm the

          information as directed.

       4. In the Installation dialog box, choose Network to perform an

          Administrative Setup.

       5. Specify how Microsoft FoxPro is to be installed on the

          network. You can choose whether the Workstation Setup will

          set up Microsoft FoxPro to run a private copy from the local

          workstation or a shared copy from the server.

       During Setup, you will be prompted for an installation folder.

       For more information, see "Instructions for Administrative

       Setup" in the "Installation and Macintosh Features Guide" for

       FoxPro for Macintosh.

2.  Q. How do I perform a Workstation Setup of FoxPro on a

       network?

    A. To set up individual workstations, use the Workstation Setup

       option, which requires a previous Administrative Setup. The

       Workstation Setup option sets up a workstation to run either 1)

       a private copy of FoxPro for Macintosh by performing a full

       installation on the workstation, or 2) a shared network copy of

       FoxPro for Macintosh by copying FoxPro initialization files and

       extensions, and creating an application icon on the

       workstation.

       You can perform a Workstation Setup from the network drive.

       Open the network drive, open a window with the correct network

       path for FoxPro for Macintosh, then run Microsoft FoxPro Setup.

       In the Microsoft FoxPro Installation dialog box, choose the

       Network button.

       During Setup, you will be prompted for user information and an

       installation directory, default drive, path name, and so on.

       For more information, see "Instructions for Workstation Setup"

       in the "Installation and Macintosh Features Guide" for FoxPro

       for Macintosh.

3.  Q. What network rights do I need to install FoxPro on a

       network?

    A. You need full network system rights in order to install on a

       network. Contact your system administrator for further

       information about your specific installation.

4.  Q. Why are workstation users on our network unable to use

       FoxPro's graphing and spell-checking capabilities?

    A. To use these features, workstation users need at least read-

       access rights to the MSGRAPH and PROOF subfolders. Contact your

       system administrator regarding user access to these subfolders.

General Setup

-------------

1.  Q. What changes does FoxPro for Macintosh make to my System

       Folder?

    A. The following files are updated in the Shared Code folder: OLE

       Client Dll, OLE Reg Dll, OLE Server Dll, and Shared Code

       Manager.

       FoxPro adds FOXDOC.MLB, FOXTOOLS.MLB, MACIMP.MLB, and

       RESERVED.MLB to the System Folder:Extensions folder.

       FoxPro's graphing capabilities require that the Microsoft Graph

       and Microsoft Graph Help files be stored in the folder System

       Folder:Extensions:Microsoft:MSGraph.

       FoxPro's spell-checking capabilities require that the Spelling

       and MS US English Dictionary files be stored in the folder

       System Folder:Extensions:Microsoft:Spelling.

2.  Q. I accidentally deleted some of the FoxPro sample files.

       Can I reinstall these files without reinstalling FoxPro?

    A. Yes. Run Setup again and choose Custom Installation from the

       Microsoft FoxPro Installation dialog box. This lets you choose

       the components you want to install.

3.  Q. I'm having difficulty reading the FoxPro disks because of

       an alignment problem with my floppy disk drive. Is there

       another option for installation?

    A. Copy all the files to a directory on your hard disk and then

       run the FoxPro installation from the hard disk instead of the

       floppy disk.

4.  Q. I'm having difficulty installing FoxPro. I'm not running

       any other applications at the same time.

    A. If you are having installation problems, make certain you have

       disabled all extensions (INITs). You can turn off all

       extensions by holding down the SHIFT key while you restart your

       system. You will see the message "Welcome to Macintosh -

       Extensions off."

5.  Q. Why does the Installation program keep asking me to insert

       Disk 1 when it really needs another disk?

    A. When a disk change during installation is required, the current

       disk will be ejected and you will be asked to insert Disk 1 if

       you have an extension (INIT) that enhances the Open and Save

       dialog boxes. After you insert Disk 1, it may or may not eject

       the disk and ask you to insert the appropriate disk. To avoid

       this problem, you can press COMMAND+SHIFT+1 to eject the disk,

       and then insert the correct disk, or you can run the

       installation program with extensions turned off.

Configuration

-------------

1.  Q. I get the error message "Insufficient memory" when trying

       to load FoxPro for Macintosh. How do I correct this problem?

    A. The Macintosh Finder(TM) allows you to change the amount of RAM

       allocated to an application. To change the amount of RAM

       available to Microsoft FoxPro, quit FoxPro and make the Finder

       the active program. Select the Microsoft FoxPro application

       icon in the Microsoft FoxPro folder. From the File menu, choose

       Get Info. A dialog box appears displaying a variety of

       information about the file. In the lower-right corner,

       information about the "Suggested" and "Current" size of the

       application is displayed. In the Current size box, enter a

       value that is greater than or equal to the suggested size. This

       amount can be less than or equal to the largest unused block of

       memory available to application programs. To determine this

       amount, choose About This Macintosh from the Apple menu. The

       dialog box that appears reveals this amount. It is not

       recommended that you specify a current size less than the

       suggested size. Attempting to run Microsoft FoxPro with too

       little memory may considerably degrade performance. For more

       information, see the "Optimizing Your System" section of the

       "Installation and Macintosh Features Guide." For more

       information about managing memory on the Apple Macintosh, see

       the related section in your "Macintosh User's Guide."

2.  Q. What factors influence FoxPro's startup speed?

    A. The time required to load and start FoxPro relates to the

       physical size of FoxPro, the number of items that must be

       sought at startup, and other factors. Many of these items are

       under your control. For a complete discussion of these issues,

       refer to the "Optimizing Your System" section of the

       "Installation and Macintosh Features Guide."

3.  Q. Why do I have several files with the extension .TMP on my

       hard disk?

    A. Every time you run Microsoft FoxPro for Macintosh, it creates

       temporary (.TMP) files. These files are automatically deleted

       when you quit FoxPro with a normal shutdown. However, the .TMP

       files will not be deleted if you restart the machine while

       FoxPro is running or if you don't have file-deletion rights in

       the directory where the files reside. To remove the .TMP files,

       quit FoxPro, acquire file-deletion rights for the directory

       where the .TMP files are, and then manually delete the .TMP

       files.

Additional reference words: 2.50b ivrfax fasttips


FastTips for FoxPro for Mac: Cross-Platform Q&A

Article ID: Q109068

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

             FC0957: CROSS-PLATFORM QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 12/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro version 2.5 for

Macintosh.

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application|

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER     |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED     |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      |

| PURPOSE. The user assumes the entire risk as to the accuracy and   |

| the use of this Application Note. This Application Note may be     |

| copied and distributed subject to the following conditions: 1) All |

| text must be copied without modification and all pages must be     |

| included; 2) If software is included, all files on the disk(s) must|

| be copied without modification (the MS-DOS(R) utility diskcopy is  |

| appropriate for this purpose); 3) All components of this           |

| Application Note must be distributed together; and 4) This         |

| Application Note may not be distributed for profit.                |

|                                                                    |

| Copyright (C) 1993 Microsoft Corporation. All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows|

| is a trademark of Microsoft Corporation.                           |

| Macintosh is a registered trademark and Finder is a trademark of   |

| Apple Computer, Inc.                                               |

|---------------------------------------------------------------------

1.  Q. Can I run my FoxPro for MS-DOS and FoxPro for Windows

       applications with FoxPro for Macintosh?

    A. FoxPro 2.5 is designed to be a cross-platform product. Aside

       from platform-specific features, the command set in FoxPro for

       Macintosh is identical to the command sets of FoxPro for MS-DOS

       and FoxPro for Windows. All objects (databases, screens,

       reports, labels, menus, projects, queries, and so on) created

       in FoxPro 2.5 can be transported, edited, and run between the

       Macintosh, MS-DOS, Microsoft Windows, and eventually, UNIX

       platforms. When you open an object created with FoxPro 2.5 on

       one platform with FoxPro 2.5 on another platform, FoxPro

       invokes a transport program, which asks if you would like to

       convert the object to the current platform.

2.  Q. Will my FoxBASE+(R) for the Macintosh application run in

       FoxPro for Macintosh?

    A. It is unlikely that your FoxBASE+/Mac application will run

       unmodified under FoxPro for Macintosh. The command set of

       FoxPro has evolved significantly since FoxBASE(R) was

       developed. To ease the burden of converting to FoxPro for

       Macintosh, we have provided FB+MIGRATE.APP, a utility that can

       be used to 1) convert your FoxBASE+/Mac screens and reports for

       editing in FoxPro for Macintosh, and 2) analyze your

       FoxBASE+/Mac programs, flag FoxBASE+/Mac commands that are no

       longer supported in FoxPro for Macintosh, and suggest

       alternative commands that produce similar results in FoxPro for

       Macintosh.

3.  Q. What are the advantages of using FoxPro for Macintosh over

       FoxBASE+/Mac?

    A. There are two main advantages to using FoxPro for Macintosh

       over FoxBASE+/Mac. First, FoxPro for Macintosh is a much more

       powerful database development environment than FoxBASE+/Mac.

       The FoxPro Menu Builder, Project Manager, Screen Builder, and

       Report Writer simplify application development and increase

       developer productivity. FoxPro's Relational Query By Example

       (RQBE) tool provides a user interface to simplify data

       retrieval and opens the door to the significant performance

       gains available through Rushmore(TM) technology. Second, FoxPro

       for Macintosh programs and objects are more compatible with

       FoxPro for MS-DOS and FoxPro for Windows than ever before.

4.  Q. What are the disadvantages of upgrading to FoxPro for

       Macintosh?

    A. The two main disadvantages of upgrading to FoxPro for Macintosh

       are higher system requirements and conversion

       adjustments. Since FoxPro for Macintosh is more powerful

       and complex than FoxBASE+/Mac, it requires a more powerful

       machine to run. The following table illustrates the differences

       in system requirements between FoxBASE+/Mac and FoxPro for

       Macintosh.

System component       FoxBASE+/Mac requires  FoxPro for Mac requires

-----------------------------------------------------------------------

Microprocessor         68000 or higher        68020 or higher

System software        System 4.2 or later    System 7.0 or later

Memory (RAM)           2 MB                   4 MB (8 MB recommended)

Available disk space   At least 3 MB          At least 10 MB

       The second main disadvantage is that FoxPro for Macintosh is

       not completely backward compatible with FoxBASE+/Mac

       applications. However, the FB+MIGRATE.APP utility does simplify

       conversion. The combination of FoxPro's performance,

       flexibility, and additional development tools should make the

       conversion worthwhile.

5.  Q. Why doesn't the ? FULLPATH(CURDIR(<volume>)) command

       behave the same on the Macintosh as it does on the MS-DOS and

       Windows platforms?

    A. The Macintosh doesn't treat volumes (a volume is the name of a

       hard disk) the same way MS-DOS does. When you use the SET

       DEFAULT command to change directories on a particular volume in

       MS-DOS, this information is saved even when you move to a

       different volume. Any reference to one volume from another

       volume actually refers to the subdirectory last pointed to on

       that volume. On the Macintosh, when you move from volume to

       volume, your location within the hierarchy of a volume other

       than the one pointed to isn't maintained by the system; thus,

       the ? FULLPATH(CURDIR(<volume>)) command returns only the fully

       qualified path of the volume to which you are currently

       pointing.

6.  Q. How are paths represented on the Macintosh?

    A. On the Macintosh, volume and folder names, which make up a

       fully qualified path, are normally delimited by colons (:). In

       FoxPro for Macintosh, you can use the MS-DOS path conventions

       to ensure cross-platform compatibility. For example,

       "shiatsu:foxpro:tutorial" can be represented as

       "shiatsu:\foxpro\tutorial."

7.  Q. Macintosh volume names, which are up to 27 characters

       long, can be somewhat cumbersome. Is there any way I can

       abbreviate them?

    A. In addition to 27-character volume (hard disk) names, folders

       and files can have names up to 31 characters long. To

       facilitate cross-platform compatibility with the MS-DOS and

       Windows environments, FoxPro for Macintosh includes a SET

       VOLUME command, which allows you to abbreviate the names of

       volumes by using a single letter. Path names that consist of a

       volume name and one or more folders can also be abbreviated

       with a single letter. See the FoxPro "Language Reference" or

       online help system for more information about the SET VOLUME

       command.

8.  Q. Will applications I built using TrueType(R) fonts look

       okay on the Macintosh?

    A. Yes. TrueType, a technology originally developed by Apple(R)

       and licensed to Microsoft to bridge the gap between the

       Macintosh and Windows environments, is incorporated into the

       System 7 architecture. The Setup disks that come with FoxPro

       for Macintosh include several TrueType fonts for the Macintosh

       that are commonly used by developers in the Windows

       environment.

9.  Q. What happened to the Filer, Calendar, Puzzle, and

       Calculator items found on the System menu in FoxPro for MS-DOS?

    A. The System menu in FoxPro for MS-DOS was largely included to

       emulate the Apple menu on the Macintosh. However, in the

       Macintosh and Windows environments, these tools are largely

       redundant, since they are incorporated as desk accessories on

       the Macintosh and as applications (with the exception of the

       Puzzle) in Windows. For cross-platform compatibility, you can

       access the native FoxPro utilities from the Command window.

Additional reference words: 2.50b ivrfax fasttips


FastTips for FoxPro for Mac: Interface Differences Q&A

Article ID: Q109069

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

 FC0958: INTERFACE DIFFERENCES BETWEEN PLATFORMS QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 12/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Macintosh(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application|

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER     |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED     |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      |

| PURPOSE. The user assumes the entire risk as to the accuracy and   |

| the use of this Application Note. This Application Note may be     |

| copied and distributed subject to the following conditions: 1) All |

| text must be copied without modification and all pages must be     |

| included; 2) If software is included, all files on the disk(s) must|

| be copied without modification (the MS-DOS(R) utility diskcopy is  |

| appropriate for this purpose); 3) All components of this           |

| Application Note must be distributed together; and 4) This         |

| Application Note may not be distributed for profit.                |

|                                                                    |

| Copyright (C) 1993 Microsoft Corporation. All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows|

| is a trademark of Microsoft Corporation.                           |

| Macintosh is a registered trademark and Finder is a trademark of   |

| Apple Computer, Inc.                                               |

|---------------------------------------------------------------------

General Interface Differences

-----------------------------

1.  Q. What is QuickTime(TM)?

    A. QuickTime is a technology developed by Apple Computer that

       allows the display of real-time animated sequences, commonly

       referred to as movies, in a standard format on Macintosh

       computers. QuickTime is similar to Microsoft Video for Windows,

       the technology available on the Windows platform. QuickTime

       movie clips can be stored in a general field of any FoxPro for

       Macintosh table. QuickTime requires the QuickTime system

       software extension available from Apple Computer.

2.  Q. Is there a Macintosh substitute for dynamic data exchange

       (DDE)?

    A. AppleScript(TM), Apple's official language for program-to-

       program communication, is a high-level, object-oriented

       language akin to HyperTalk(R), Apple's scripting language for

       HyperCard(R). AppleScripts work in conjunction with Apple

       events, a discrete set of commands and functions that describe

       how programs can work together on Macintosh computers running

       System 7.

       FoxPro for Macintosh supports the required set of Apple events-

       -open application, open document, print document, and quit

       application. FoxPro for Macintosh also supports the Do Script

       event, which allows other applications that support this event

       to tell FoxPro to perform almost any action. FoxPro for

       Macintosh supports the running of compiled scripts through the

       RUN SCRIPT command. For more information about AppleScript,

       contact the Apple Programmer's and Developer's Association

       (APDA). To learn more about Apple events, see "Inside

       Macintosh". For more information about the RUN SCRIPT command,

       see the FoxPro for Macintosh "Language Reference."

3.  Q. Can I replace the text editor provided with FoxPro for

       Macintosh with my own the way I can in FoxPro for MS-DOS and

       Windows using the TEDIT=<editor> setting in my CONFIG.FP or

       CONFIG.FPW file?

    A. TEDIT is not supported in FoxPro for Macintosh. However, you

       can use the options found in the Edit Preferences dialog box to

       customize the FoxPro editor.

       If you still want to use a different editor, try using System

       7's task-switching ability. With enough RAM, you can edit your

       programs in the editor of your choice and switch back to FoxPro

       when you want to test your code. To switch between

       applications, either click a window belonging to the

       destination application, or choose the appropriate icon from

       the list of applications in the Application menu in the upper-

       right corner of the system menu bar, next to the Help menu.

4.  Q. Does FoxPro for Macintosh support Windows .BMP files?

    A. FoxPro for Macintosh lets you view .BMP files or convert them

       to PICT files for editing in an appropriate graphics editor.

       PICT is the universal picture file format supported most

       extensively on the Macintosh. You can view both picture formats

       by storing the data in the general field of a FoxPro table, or

       by using the Picture tool in the Report Writer or Screen

       Builder. FoxPro for Macintosh does not support the editing of

       pictures, only their display and storage.

5.  Q. What's an alias?

    A. A Macintosh alias, a feature available with System 7,

       simplifies access to Finder(TM) objects (folders and files). An

       alias is simply a pointer to the actual object, which may be

       buried deeply in the folder hierarchy of your hard disk. It is

       often convenient to place aliases of commonly accessed files on

       the Macintosh desktop. The operating system finds and opens the

       actual object to which the alias points.

       To create a Macintosh alias, select the desired object in the

       Finder. From the File menu, choose Make Alias. A new object is

       created, about 2K in size, which can be moved virtually

       anywhere (including across a network) as a representative of

       the original object.

       FoxPro commands like DO, USE, and SET DEFAULT TO do not

       recognize these aliases. Selecting an alias from within a

       dialog box, however, will open the original file since the

       dialog box contains the necessary code to resolve the alias.

FoxPro Window Differences

-------------------------

1.  Q. Why do the windows in FoxPro for Macintosh have different-

       style controls compared with the windows in FoxPro for MS-DOS

       and FoxPro for Windows?

    A. FoxPro for Macintosh has been designed to conform to the

       Apple(R) human interface guidelines for the Apple desktop

       interface. The book titled, "Human Interface Guidelines: The

       Apple Desktop Interface" (published by Addison-Wesley)

       describes these rules. Following its guidelines ensures that

       all applications designed for the Macintosh have the same look

       and feel, so that once you learn one application it is

       relatively easy to pick up another.

2.  Q. Why can't I minimize FoxPro for Macintosh like I can

       FoxPro for Windows?

    A. The Macintosh interface does not provide a control to minimize

       a window. Consequently, the MINIMIZE clause of the DEFINE

       WINDOW command does not operate in FoxPro for Macintosh.

       The Macintosh interface does, however, provide a control in the

       upper-right corner of a window to maximize the window or reduce

       it to its previous dimensions, a control in the lower-right

       corner to size the window, and a control in the upper-left

       corner to close the window.

       To hide a window, select the window by clicking it or choosing

       it from the Window menu. Then choose Hide from the Window menu.

3.  Q. Why doesn't the FoxPro Desktop window display the sizing

       control when it is the active window?

    A. According to the Apple human interface guidelines, you can

       define a window with such attributes. However, a design

       decision was made to provide the user with the maximum amount

       of desktop space. If the grow icon were included, you would

       lose several pixels for the display of your own objects.

4.  Q. Why aren't my user-defined windows restricted to the

       FoxPro for Macintosh Desktop window like they are in FoxPro for

       MS-DOS and FoxPro for Windows?

    A. In FoxPro for MS-DOS and FoxPro for Windows, windows are

       related to and limited by the boundaries of their "parent"

       window. DEFINE WINDOW and other commands create "child" windows

       that are "clipped" at the window boundaries of the main Desktop

       window. On the Macintosh, all windows reside on the Macintosh

       desktop, which means that you can move them beyond the

       boundaries of any other window, including the FoxPro Desktop

       window. A new system setting has been incorporated into FoxPro

       for Macintosh, allowing more flexibility in the placement of

       windows in the Macintosh environment. This property is

       controlled by the MACDESKTOP setting. By default, the

       MACDESKTOP setting is ON, so windows you define can be

       positioned anywhere on the Macintosh desktop. To emulate the MS-

       DOS and Windows platform behavior, issue the following command

       in the Command window:

          SET MACDESKTOP OFF

        NOTE: The MDI and NO MDI clauses of the DEFINE WINDOW command

        do not operate in FoxPro for Macintosh.

5.  Q. Can I get the FoxPro for Macintosh status bar to restrict

       itself to the FoxPro desktop window?

    A. By default, the status bar in FoxPro for Macintosh appears

       across the bottom of the monitor, as opposed to across the

       bottom of the FoxPro desktop window. To emulate the MS-DOS and

       Windows products, use the SET STATUS ON command. This displays

       the MS-DOS-style status bar within the FoxPro desktop window.

Keyboard Differences

--------------------

1.  Q. Why do some of the keyboard shortcuts in FoxPro for

       Macintosh differ from their FoxPro for MS-DOS and FoxPro for

       Windows counterparts?

    A. Macintosh keyboard shortcuts represent traditional Macintosh

       features combined with the cross-platform functionality of the

       MS-DOS and Windows systems. The COMMAND key, which often has

       the picture of the Apple logo and a clover-leaf on it, is

       usually equivalent to the CTRL key on IBM(R) personal

       computers. The OPTION key is sometimes equivalent to the ALT

       key on IBM personal computers. Although the Apple extended

       keyboard contains a set of twelve function keys across the top,

       some earlier Apple keyboards lack these keys. You can emulate

       the function keys through a combination of the CTRL and numeric

       keys. For example, you can use the key combination CTRL+1 in

       place of pressing the F1 key.

       The Apple user interface guidelines define a set of keyboard

       shortcuts that should work the same way in all applications.

       Perhaps the most confusing and seemingly contradictory example

       of this is COMMAND+O. The equivalent key sequence on the MS-DOS

       and Windows platforms, CTRL+O, executes the program or query in

       the active window. On the Macintosh, FoxPro maintains

       consistency with all other standard Macintosh applications by

       invoking the Open File dialog box unless a program or query is

       in the active window, in which case the query or program is

       executed.

2.  Q. How can I emulate the MS-DOS and Windows ALT key on the

       Macintosh?

    A. To emulate the ALT key, press CTRL+OPTION.

3.  Q. How can I make FoxPro for Macintosh better emulate the way

       I'm used to navigating, selecting, and using hot keys on the MS-

       DOS and Windows platforms?

    A. You can set FoxPro for Macintosh to emulate MS-DOS and Windows

       key combinations by using the SET KEYCOMP command. This command

       affects keyboard and menu navigation. The default KEYCOMP

       setting is MAC. For more information about the SET KEYCOMP

       command, see the "Language Reference."

Online Help Differences

------------------------

1.  Q. How can I get online help about FoxPro for Macintosh?

    A. There are many ways to access the Microsoft Help system for

       FoxPro for Macintosh. You can press the F1 key, type HELP in

       the Command window and press the RETURN key, or choose

       Microsoft FoxPro Help from the balloon menu in the upper-right

       corner of the system menu bar.

       In addition to the Microsoft Help system, FoxPro also takes

       advantage of Balloon Help(TM), a System 7 feature that supplies

       information about screen objects. When Balloon Help is active,

       a cartoon-like caption bubble or balloon appears, containing

       information about the object to which you are pointing. To

       activate or deactivate the display of balloons, choose Show

       Balloons or Hide Balloons from the Help menu. Balloon Help is

       an aid for learning about the various interface features in the

       Macintosh environment. You may find it useful as you learn

       about the various user-interface objects in the Macintosh

       graphical environment.

2.  Q. FoxPro for Macintosh includes a Windows-style help system.

       Is there any way to access the .DBF-style help system I used in

       FoxPro for MS-DOS?

    A. By default, FoxPro for Macintosh uses the Windows-style help

       system. To access the .DBF-style help system, issue the

       following command:

          SET HELP TO FOXHELP.DBF

       Press the F1 key or choose Contents from the Help menu to open

       the .DBF-style help system.

       To return to the Windows-style help system, issue the following

       command:

          SET HELP TO FOXHELP.HLP

       To change the default help system to the .DBF-style help

       system, add the following statement to your CONFIG.FPM file:

          HELP = FOXHELP.DBF

Additional reference words: 2.50b ivrfax fasttips


FastTips for FoxPro for Mac: General Interface Q&A

Article ID: Q109070

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

            FC0959: GENERAL INTERFACE QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 12/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Macintosh(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application|

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER     |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED     |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      |

| PURPOSE. The user assumes the entire risk as to the accuracy and   |

| the use of this Application Note. This Application Note may be     |

| copied and distributed subject to the following conditions: 1) All |

| text must be copied without modification and all pages must be     |

| included; 2) If software is included, all files on the disk(s) must|

| be copied without modification (the MS-DOS(R) utility diskcopy is  |

| appropriate for this purpose); 3) All components of this           |

| Application Note must be distributed together; and 4) This         |

| Application Note may not be distributed for profit.                |

|                                                                    |

| Copyright (C) 1993 Microsoft Corporation. All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows|

| is a trademark of Microsoft Corporation.                           |

| Macintosh is a registered trademark and Finder is a trademark of   |

| Apple Computer, Inc.                                               |

|---------------------------------------------------------------------

General Interface Features

--------------------------

1.  Q. How can I choose the default push button in a dialog box

       when I am using the keyboard?

    A. Press COMMAND+ENTER to choose the default push button in a

       dialog box. The default push button in a Macintosh dialog box

       is outlined with a bold oval.

2.  Q. Why isn't my CONFIG.FP file loaded when I start FoxPro for

       Macintosh?

    A. On the Macintosh, the configuration file must be named

       CONFIG.FPM, and it must be located in the same directory as the

       application. If you are starting FoxPro from an alias, you

       still must place the CONFIG.FPM in the same directory as the

       actual application to which the alias points.

3.  Q. How can I adjust the style of the text that appears on the

       FoxPro desktop when I execute commands that print?

    A. With the Command window active and the SHIFT key held down,

       choose Screen Font from the Text menu. This allows you to

       change the screen font. Also see the MODIFY WINDOW command in

       the "Language Reference." Remember that the name of the window

       to be modified in this case is "screen."

4.  Q. In FoxBASE+/Mac, the Debug and Trace commands are located

       on the Window menu. Are they available in FoxPro for Macintosh?

    A. The designers of FoxPro decided to rearrange the menus so that

       options are grouped by function. The Trace and Debug commands

       are located on the Program menu, which is consistent with

       FoxPro 2.5 for MS-DOS and Windows.

5.  Q. Although FoxPro's language is rich, it doesn't contain all

       the functions I need to get my job done. How can I extend

       FoxPro's dictionary of commands and functions?

    A. A Library Construction Kit (LCK) for FoxPro for Macintosh,

       similar to the LCKs for MS-DOS and Windows, is available to

       assist you. FoxPro for Macintosh accepts internal HyperCard(R)

       1.0 commands (XCMDs) and functions (XFCNs). These code

       resources are written in a programming language such as C,

       Pascal, or Assembler and are incorporated into FoxPro through a

       special resource interface.

       Anyone using the LCK should have a solid understanding of one

       or more of the these languages, as well as the Macintosh

       Toolbox, which is described in "Inside Macintosh", a

       multivolume reference describing all the function calls

       available in both the Macintosh ROMs and the system software.

       This reference set is published by Addison-Wesley.

       To specify the file that contains the code that FoxPro should

       load and call, use the SET XCMDFILE command described in the

       FoxPro "Language Reference."

6.  Q. When I modify a database structure, why is the Picture

       type unavailable?

    A. Just as in FoxPro for MS-DOS and Windows, the picture type is

       maintained for compatibility with FoxBASE+/Mac. All Picture

       type objects must now be incorporated into tables using object

       linking and embedding (OLE).

7.  Q. What is object linking and embedding (OLE)?

    A. OLE is a data-interchange technology developed by Microsoft

       that is prevalent in the Windows environment and available in

       many applications on the Macintosh, such as Microsoft Word and

       Microsoft Excel. OLE allows you to link or embed text, images,

       sound, and full-motion videos (QuickTime(TM) movies, for

       example) into your FoxPro tables. OLE objects are stored in

       general fields. For more information about OLE, see the

       "Developer's Guide."

8.  Q. What are wizards?

    A. Wizards are designed to make often-repeated tasks easier to

       accomplish. Wizards are agents that, when invoked to perform a

       task, ask you a small set of questions to accomplish what would

       ordinarily require a great deal of effort. Wizards are

       available for generating reports, screens, and, if you own the

       Distribution Kit, setting up floppy disks for distribution of

       your application. The wizards can be invoked from the Run menu.

9.  Q. The Program menu contains the Beautify command. What does

       it do?

    A. The Beautify command alters the appearance of program files so

       that they are easier to read. For example, you can alter the

       case of keywords and variables and add indentation within

       procedures and DO CASE statements. You can also highlight a

       program's organization by bracketing flow-control statements.

FoxPro Window Features

----------------------

1.  Q. Why can some windows in FoxPro be resized but others

       can't?

    A. FoxPro for Macintosh contains both windows you can size and

       windows you can't size. Windows that contain a text-editing

       region are sizable. Examples of sizable windows are the Command

       window, the Screen Design window, and the Report Layout window.

       These windows may contain scroll bars and a sizing box in the

       bottom-right corner of the window. Windows you can't size are

       usually dialog boxes that contain interface objects such as

       push buttons. Examples of windows you can't size include the

       View and RQBE windows.

2.  Q. Why doesn't the FoxPro desktop window contain scroll bars?

    A. The FoxPro desktop window was not designed to be a scrollable

       window.

3.  Q. Can I change the title of the FoxPro desktop window to

       better suit my application?

    A. The title of the FoxPro desktop window can be changed in two

       ways. The first is to include the "TITLE=" directive in the

       CONFIG.FPM file. For more information, see the "Installation

       and Macintosh Features Guide." The other method is to use the

       MODIFY WINDOW command from within your application. For more

       information, see the "Language Reference." Remember that the

       name of the FoxPro desktop window is "screen."

       To further customize your application, you can also change the

       About Microsoft FoxPro command on the Apple(R) menu. For more

       information, see the related commands SET APLABOUT and ON

       APLABOUT in the "Language Reference."

4.  Q. When I click a window to make it active and then issue a

       command in the Command window, why doesn't the output for that

       command appear in the active window?

    A. There is an important distinction between the active window and

       the output window. A window does not have to be active to be

       the output window. The active window is the foremost window on

       the desktop. No part of an active window is obscured by any

       other window. An active window also has one or more of the

       following characteristics: horizontal stripes across the title

       bar; a visible close, zoom, or size control; or scroll bars.

       Bear in mind that these attributes are not defined for some

       windows, such as modal dialog boxes.

5.  Q. What does the check mark signify in the list of windows on

       the Window menu?

    A. The Window menu lists the currently defined windows. The

       "screen" (that is, the FoxPro desktop window) is always

       defined. The check mark appears next to the current output

       window. For more information about the output window, see the

       ACTIVATE WINDOW command and the WOUTPUT() function in the

       "Language Reference."

6.  Q. What happened to all the output windows available in

       FoxBASE+(R) for the Macintosh?

    A. FoxBASE+/Mac doesn't support user definition of output windows.

       It provides only nine screens to which output can be directed.

       In FoxPro for Macintosh, this limitation has been eliminated;

       the number of windows you can define is limited only by the

       amount of available memory. To create your own output windows,

       use DEFINE WINDOW and other related commands. Note that the

       SCREEN command in FoxBASE+/Mac has been supplanted in FoxPro by

       the MODIFY WINDOW command. For more details, see the "Language

       Reference."

7.  Q. How can I hide all windows in front of the current output

       window?

    A. On the Macintosh, press COMMAND+OPTION+CTRL+SHIFT.

Additional reference words: 2.50b ivrfax fasttips


FastTips for FoxPro for Mac: Screen Builder Q&A

Article ID: Q109071

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

             FC0961: SCREEN BUILDER QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 12/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Macintosh(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application|

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER     |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED     |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      |

| PURPOSE. The user assumes the entire risk as to the accuracy and   |

| the use of this Application Note. This Application Note may be     |

| copied and distributed subject to the following conditions: 1) All |

| text must be copied without modification and all pages must be     |

| included; 2) If software is included, all files on the disk(s) must|

| be copied without modification (the MS-DOS(R) utility diskcopy is  |

| appropriate for this purpose); 3) All components of this           |

| Application Note must be distributed together; and 4) This         |

| Application Note may not be distributed for profit.                |

|                                                                    |

| Copyright (C) 1993 Microsoft Corporation. All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows|

| is a trademark of Microsoft Corporation.                           |

| Macintosh is a registered trademark and Finder is a trademark of   |

| Apple Computer, Inc.                                               |

|---------------------------------------------------------------------

General Screen Builder Features

-------------------------------

1.  Q. I created a screen that uses many different types of

       controls. When I generate the screen and execute it, I find

       that the TAB key cycles through text fields only. I would like

       to be able to cycle through all the controls using the TAB key,

       including buttons, popups, list boxes, and check boxes. How can

       I do this?

    A. The behavior of the TAB key during a READ command is determined

       by the KEYCOMP setting. In FoxPro for Macintosh, the default

       setting of KEYCOMP is MAC. When KEYCOMP is set to MAC, the TAB

       key cycles through text fields only, which is standard behavior

       for Macintosh dialog boxes.

       You can change this behavior from the Command window or from

       within a program by issuing the SET KEYCOMP TO WINDOWS or SET

       KEYCOMP TO DOS command. Either of these KEYCOMP settings allows

       the user to cycle through all objects, not just text fields,

       using the TAB key. For details about the keystroke differences,

       refer to the FoxPro online help system.

2.  Q. I know how to click and drag objects within the Screen

       Design window using the Selection Pointer tool. Is there an

       easy way to move objects a small distance?

    A. Yes. Select the object using the Selection Pointer tool and

       then use the arrow keys to move the object one pixel at a time.

3.  Q. I created a screen for my application that displays a

       number of fields. When I run the application, the order in

       which the cursor moves through the fields isn't what I expect.

       How can I change the keyboard access order without changing the

       physical position of the fields?

    A. Open your original screen in the Screen Builder. From the

       Screen menu, choose Object Order. This opens the Object Order

       dialog box, which lists screen objects according to their

       keyboard access order. To change the access order, click the

       button to the left of an object and drag the object to its new

       keyboard access position. When you're done, rebuild your

       application.

4.  Q. When I choose the Window Style button in the Screen Layout

       dialog box, I see that one of the options for window type is

       Desktop. What is a desktop window?

    A. A window defined as Desktop will become the main FoxPro screen.

       If you look at the generated code for a desktop window, you

       will see that a new window is not defined. Rather, a MODIFY

       WINDOW SCREEN command is generated to modify the attributes of

       the main FoxPro screen. Any subsequent windows that are created

       by using the DEFINE WINDOW ... IN SCREEN command will be

       children of the desktop window.

5.  Q. When I'm generating screens, I don't see any code-

       generation options. Do these options exist?

    A. Yes. The Generate Screen dialog box contains a More button.

       Choose this button to view the code-generation options.

6.  Q. Every time I run my screen, it seems that certain

       databases are opened and closed automatically. How can I

       prevent this from happening?

    A. When you save a screen for the first time, you have the option

       of saving environment information. If you choose to save this

       information, the screen file will record all open databases,

       active indexes, and active relations. When the screen is

       generated and run, the databases, indexes, and relations in the

       screen's environment will be restored. If you inadvertently

       saved the environment information when you created the screen,

       the screen program will restore an environment that you may not

       want.

       To clear a screen's environment, choose Layout from the Screen

       menu. In the Screen Layout dialog box, choose the Environment

       button, and then choose the Clear button.

       If you do not want to clear the environment but want to prevent

       the opening and closing of environment files, choose the More

       button in the Generate Screen dialog box. Clear the Open Files

       and Close Files check boxes.

7.  Q. I've designed a screen and would now like to add color to

       my screen objects. How can I do this?

    A. To specify colors, first select the object or a group of

       objects. To modify the background color of the object, choose

       Fill Color from the Object menu. To modify the outline and text

       of an object, choose Pen Color from the Object menu. Setting

       Fill Color or Pen Color to Automatic means the Macintosh

       default color sets will be used.

       To change the background of the entire screen, choose Layout

       from the Screen menu, and then choose the Color button. You can

       select a color, or you can select a wallpaper pattern by

       choosing the Wallpaper button, and then selecting a PICT or

       .BMP (bitmap) file.

8.  Q. Why can't I type as many characters in an input field as

       it appears will fit?

    A. The input field is using a proportional font. In a proportional

       font, each character is given as much horizontal space as it

       needs and no more. For example, a lowercase ''f'' requires much

       less space than an uppercase ''W.''

       When an input field displays in a screen, FoxPro calculates the

       display width of the field by multiplying the number of

       characters in the table field structure by the average size of

       a character in the specified font. If the field is filled with

       characters that are wider than average, the characters don't

       all fit within the display width of the input field, and

       therefore the characters scroll. If the field is filled with

       characters that are narrower than average, the characters don't

       fill the display width of the input field.

9.  Q. How do I control the type of data a memory variable will

       contain, including its length?

    A. In the Field dialog box, you can use the Format button to set

       the characteristics of the data entered, including its length.

       For more specific information, see the FUNCTION and PICTURE

       clauses portion of the documentation about the @ ... SAY

       command in the "Language Reference".

Working with Pictures

---------------------

1.  Q. When I select the Push Button tool in the Screen Design

       window, I have the option of selecting pictures for my buttons.

       What file formats are supported?

    A. FoxPro for Macintosh allows you to use PICT and bitmap (.BMP)

       files. You can also use pictures in place of radio button and

       check box prompts.

2.  Q. How can I display a .BMP (bitmap) or a PICT object stored

       in a general field?

    A. Use the Picture tool to display the contents of a general

       field. The Field tool can't be used to display a picture.

3.  Q. I used the Picture tool to add a picture field to my

       screen. How do the options under If Picture And Frame Different

       Size affect the display of the picture?

    A. The following options apply only when the picture and frame are

       different sizes:

       - Clip Picture retains the original dimensions of the picture.

         If the picture is larger than the frame, only a portion of

         the image is displayed, beginning with the top-left portion

         of the picture. Any portion of the picture that extends

         beyond the frame is hidden.

       - Scale Picture - Retain Shape retains the overall shape of the

         picture but fills as much of the frame as possible. The

         picture is protected from vertical or horizontal distortion.

       - Scale Picture - Fill The Frame fills the frame completely.

         The picture fills the frame even at the cost of horizontal

         and vertical distortion.

Additional reference words: 2.50b ivrfax fasttips


FastTips for FoxPro for Mac: Report Writer Q&A

Article ID: Q109072

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

              FC0960: REPORT WRITER QUESTIONS AND ANSWERS

======================================================================

                                                  Revision Date: 12/93

                                                      No Disk Included

The following information applies to Microsoft FoxPro(R) version 2.5

for Macintosh(R).

----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY    |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application|

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER     |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED     |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      |

| PURPOSE. The user assumes the entire risk as to the accuracy and   |

| the use of this Application Note. This Application Note may be     |

| copied and distributed subject to the following conditions: 1) All |

| text must be copied without modification and all pages must be     |

| included; 2) If software is included, all files on the disk(s) must|

| be copied without modification (the MS-DOS(R) utility diskcopy is  |

| appropriate for this purpose); 3) All components of this           |

| Application Note must be distributed together; and 4) This         |

| Application Note may not be distributed for profit.                |

|                                                                    |

| Copyright (C) 1993 Microsoft Corporation. All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows|

| is a trademark of Microsoft Corporation.                           |

| Macintosh is a registered trademark and Finder is a trademark of   |

| Apple Computer, Inc.                                               |

|---------------------------------------------------------------------

1.  Q. Should I convert all of my FoxPro for MS-DOS and Windows

       reports to FoxPro for Macintosh format?

    A. You may not need to. Your existing character-based reports

       created in FoxPro for MS-DOS will run, preview, and print

       unchanged in FoxPro for Macintosh. The engine for printing

       character-based reports is included in FoxPro for Macintosh. If

       you want to include graphical elements such as fonts and

       pictures, you can either convert the reports to FoxPro for

       Macintosh format or create new graphical reports from scratch.

       Reports created in FoxPro for Windows will also run, preview,

       and print unchanged in FoxPro for Macintosh, or you can

       transport them to FoxPro for Macintosh format.

2.  Q. I used the Quick Report option to create my initial

       report. Now I want to add another field. In FoxPro for MS-DOS,

       the Report menu contained a command called Field that allowed

       me to add a single field. How do I do this in FoxPro for

       Macintosh?

    A. You can add new fields with the Field tool located in the

       toolbox on the left side of the Report Layout window. For

       additional information about the Report Writer toolbox, see the

       FoxPro for Macintosh "User's Guide."

3.  Q. Only the first line of a memo field in my report prints.

       How can I correct this?

    A. To display the entire contents of the memo field, you must make

       the field stretch vertically to fit its contents. Double-click

       the report field and select the Top - Field Can Stretch option

       under Position Relative To. This field will now enlarge,

       depending on the length of the memo field contents. Choose Page

       Preview to view the result.

4.  Q. When I place a "stretched" memo field in the Detail band,

       I find that the fields that display below the memo field are

       overwritten by some of the longer memo fields. How do I avoid

       this?

    A. Fields or objects positioned below the memo field are still

       displayed in a fixed position, even though the memo field is

       now stretchable. To avoid being overwritten, all objects below

       the memo field should be positioned relative to the bottom of

       the Detail band. To accomplish this, double-click each of the

       fields and select the Bottom option under Position Relative To.

       Choose Page Preview to view the result. If your report contains

       side-by-side memo fields, fields with the Bottom option

       specified will display below the longer of the two memo fields.

        NOTE: This procedure applies to nonstretching fields and other

        objects, such as lines and text. If you have stretching fields

        placed below other stretching fields, you should not position

        them relative to bottom. Stretching fields automatically float

        below other stretching fields.

5.  Q. I have placed boxes around several fields in my report.

       One of these fields is a memo field. How do I make the box

       stretch to fit the memo field?

    A. Double-click the box and select the Stretch With Band option

       under Position Relative To. Rectangles (boxes) and vertical

       lines can optionally stretch according to the length of the

       Detail band.

        NOTE: You won't be able to place a stretching box around a

        field if the field is not positioned relative to the top or

        the bottom of the band.

6.  Q. When I attempt to move a text object to a specific

       location in the Report Layout window, the field keeps aligning

       itself with the nearest gridline. Why is this happening?

    A. By default, objects are automatically aligned to the nearest

       invisible gridlines within the Report Layout window. This

       feature is called Snap To Grid. To disable this feature, choose

       Snap To Grid from the Report menu.

7.  Q. How do I design and print multicolumn reports in FoxPro

       2.5 for Macintosh?

    A. From the Report menu, choose Page Layout and use the Columns

       spinner to select the number of columns. Clicking the up arrow

       increases the counter value, and clicking the down arrow

       decreases the counter value. The size of the Report Layout

       window reflects the new column width. You may need to modify

       existing field positions.

        Hint: When you are creating a new report that will have

        columns, set the layout before you add any fields.

8.  Q. When I enlarge the font of objects in my report and print

       the report, some of the information in the fields is obscured.

       How can I correct this?

    A. You may need to stretch the Detail lines and/or the objects

       themselves to accommodate the larger font.

9.  Q. When I print my report, the same record repeats over and

       over. What's wrong?

    A. The report refers to the alias of the database open when the

       report was originally created, and you're now trying to run the

       report with a different database. The report can't advance the

       pointer in the original database, so it displays the same

       record repeatedly.

       To create a report that can be used to display output from

       another database with the same structure, the report should not

       make reference to a specific alias. One method of removing the

       alias name from an existing report is to double-click each

       field and delete the alias name and period from the report

       expression. The alias name should also be removed from any data

       grouping expressions and report variables.

Additional reference words: 2.50b ivrfax fasttips


PRB: Cannot Modify Table/Database Structure

Article ID: Q111252

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

When you are attempting to modify the structure of a table/.DBF, a window

is displayed in the upper-right corner with the message "Database not

opened exclusively."

CAUSE

=====

 - The table/.DBF is opened with EXCLUSIVE set to OFF.

   -or-

 - The table/.DBF is opened as shared (USE <filename> SHARED).

   -or-

 - The table/.DBF files are read-only (marked with the MS-DOS Read-Only

   attribute or located on a network drive to which you have read-only

   access rights).

RESOLUTION

==========

Verify That the Table Is Opened Exclusively

--------------------------------------------

Open the table/.DBF again using the EXCLUSIVE clause of the USE command.

For example, to open a table/.DBF called CUSTOMER in the current directory,

type the following:

   USE customer.dbf EXCLUSIVE

Check If the Table Has Read-Only Attributes

-------------------------------------------

To check if the MS-DOS Read-Only attribute has been set, use the MS-DOS

ATTRIB command or the Windows File Manager.

To check if a network drive has read-only access rights, use the software

provided with your network.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

To modify the structure of a table/.DBF, either open the database with the

USE command and then choose Setup from the Database menu, or type "MODIFY

STRUCTURE" (without the quotation marks) in the Command window.

Additional reference words: 2.00 2.50 2.50a 2.50b errmsg err msg multi-user


PRB: ODBC Icon Does Not Appear in Windows Control Panel

Article ID: Q111256

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

Installation of the Microsoft FoxPro Connectivity Kit should place an

ODBC icon in the Control Panel group, but sometimes this icon does not

appear.

CAUSE

=====

The [MMCPL] section of the CONTROL.INI file does not contain the line:

   ODBC=C:\WINDOWS\SYSTEM\ODBCINST.DLL

RESOLUTION

==========

Reinstalling the Connectivity Kit should write this line to the CONTROL.INI

file. If the ODBC kit has been installed properly except for the icon,

manually adding this line to the CONTROL.INI file (which is located in the

Windows directory) will cause the icon to appear.

Additional reference words: 2.50 2.50a 2.50b CK


INF: Pressing LEFT ARROW or RIGHT ARROW Key Terminates Popup

Article ID: Q111257

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

When a popup is active, pressing the LEFT ARROW, RIGHT ARROW, TAB, or ESC

key causes the popup to terminate. For example:

   DEFINE POPUP TEST FROM 1,1 to 10,10

   DEFINE BAR 1 OF test PROMPT "one"

   DEFINE BAR 2 OF test PROMPT "two"

   ACTIVATE POPUP test

MORE INFORMATION

================

You can turn off these keys--so that they do not terminate the popup --

before activating the popup by using ON KEY LABEL commands.

For example, to turn off the LEFT ARROW key, use the following command:

   ON KEY LABEL LEFTARROW *

Additional reference words: 2.00 2.50 2.50a 2.50b deactivate cancel arrow


INF: List of Problems Identified in FoxPro 2.5b for MS-DOS

Article ID: Q111264

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

The following is a list of problems identified in FoxPro version 2.5b

for MS-DOS.

MORE INFORMATION

================

This list contains the numbers and titles of Microsoft Knowledge Base

articles that fully describe the problems identified in FoxPro 2.5b

for MS-DOS.

Knowledge Base Articles

-----------------------

Q104050   PRFOX: "Transgressed Node During Compaction" from @ ... GET

Q106163   PRFOX: "Variable 'G_PDDRIVER' Not Found" Upon Startup

Q106703   PRFOX: RQBE Hangs FoxPro When the In Descriptor Is Used

Q108166   PRFOX: SQL SELECT Creates Invalid Numeric Field Length

Q108170   PRFOX: SET PDSETUP TO Does Not Release _PDPARMS

Q108634   PRFOX: Hang or GPF in Browse with S<n> Function Code

Q108635   PRFOX: LOOKUP() Function with SET RELATION Causes Crash

Q108638   PRFOX: BROWSE FORMAT Causes FoxPro to Hang

Q108714   PRFOX: "SQL Column Not Found" Error Causes Transgressed Handle

Additional reference words: 2.50b buglist2.50b


INF: List of Problems Identified in FoxPro 2.5b for Windows

Article ID: Q111265

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

The following is a list of problems identified in FoxPro version 2.5b

for Windows.

MORE INFORMATION

================

This list contains the numbers and titles of Microsoft Knowledge Base

articles that fully describe the problems identified in FoxPro 2.5b

for Windows.

Knowledge Base Articles

-----------------------

Q100449   PRFOX: Color Boxes or Text Labels Appear as Black Boxes

Q101050   PRFOX: GP Fault When Running FoxDoc on Project with .DBF Only

Q106703   PRFOX: RQBE Hangs FoxPro When the In Descriptor Is Used

Q108166   PRFOX: SQL SELECT Creates Invalid Numeric Field Length

Q108334   PRFOX: _WSetPort Function in LCK Does Not Work

Q108335   PRFOX: GPF or Crash When Entering Empty Date Field in RQBE

Q108481   PRFOX: MODIFY FILE...NOMODIFY WINDOW Disables Command Window

Q108633   PRFOX: "Invalid File Descriptor" When Saving Read-Only Query

Q108634   PRFOX: Hang or GPF in Browse with S<n> Function Code

Q108636   PRFOX: POP POPUP Causes a General Protection Fault

Q108637   PRFOX: MODIFY REPORT from .EXE Causes Internal Consistency Err

Q108638   PRFOX: BROWSE FORMAT Causes FoxPro to Hang

Q108673   PRFOX: "Internal Consist Err" Running App w/ Debug Window Open

Q108712   PRFOX: @ ... GET Check Box with a "" Prompt Causes GP Fault

Q108713   PRFOX: Beautify Option Causes a General Protection Fault

Q108714   PRFOX: "SQL Column Not Found" Error Causes Transgressed Handle

Q108715   PRFOX: "Insufficient Memory" Errors When Calling FoxPro Menus

Q108717   PRFOX: Resource Manager Error When Printing Lots of Fonts

Q108718   PRFOX: Multiple Iterations of ACTIVATE POPUP Cause GP Fault

Q108719   PRFOX: GPF After Query Is Appended to Table Using GraphWizard

Q108720   PRFOX: SHOW GET PROMPT for Check Box / Radio Button Causes GPF

Q109986   PRFOX: Cannot Select the First Menu Pad in a System

Additional reference words: 2.50b buglist2.50b


PRB: Pink System Highlight Causes FoxPro for Mac to Turn Pink

Article ID: Q111290

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

If a Macintosh is set to display 16 colors and the highlight is the color

pink, FoxPro for Macintosh's desktop, status bar, and other gray areas will

turn pink also.

CAUSE

=====

This problem is caused by Apple's color remapping. Other programs that

use a similar shade of gray will exhibit the same problems.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Load Microsoft FoxPro for Macintosh.

2. To change the number of colors to display, open the Control Panel,

   double-click Monitors, and choose the 16 Colors option.

3. To change the color of the highlight, double-click Color in the Control

   Panel and choose "Pink" as the highlight color. Note that the FoxPro

   desktop colors change from gray to pink. If you choose any color other

   than "Pink", FoxPro's desktop remains gray (the default).

Additional reference words: 2.50b grey display video


INF: How to Add Information to Existing Data in a Field

Article ID: Q111312

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

In order to use the REPLACE command to replace a field with the existing

field contents plus more information, you must use the TRIM() function as

part of the REPLACE statement. If the TRIM() function is not used, FoxPro

seems to execute the replacements; however, the table is not updated.

MORE INFORMATION

================

The contents of a field include any trailing blank spaces. When you attempt

to replace a field with its existing contents plus additional data, the

additional data will be concatenated to the end of the entire field

including the trailing blanks. Since this is longer than the defined length

of the field, the additional data will not be included when the field is

updated. In order to add data to the existing contents of a field, you must

remove the trailing blank spaces prior to adding the new data. You can

accomplish this with the TRIM() function.

The following program example is based on the assumption that C:\FOXPRO25

is the main FoxPro directory and that the TUTORIAL subdirectory and its

contents are installed as one of the subdirectories under FOXPRO25. In this

example, we will use CUSTOMER.DBF in the C:\FOXPRO25\TUTORIAL subdirectory

and will update all records that have "1st" in the COMPANY field to add

"Inc." to the end of this field.

NOTE: Before making any changes to the original database, use the COPY TO

command to make a backup copy of the existing database. Also, to find the

CUSTOMER database for this example, make sure that the default directory is

the main FoxPro directory.

Example

-------

1. Type the following in the Command window:

      USE C:\FOXPRO25\TUTORIAL\customer

      COPY TO cust2.dbf

2. Type the following commands in the Command window:

      SELECT CUSTOMER

      BROWSE

   Note that the first four records have COMPANY fields with "1st" in them.

   The COMPANY fields should be:

      1st Computers

      1st Data Reductions

      1st Software Systems Ltd.

      1st Survey

3. Press ESC to close the Browse window on the CUSTOMER database.

4. Type the following REPLACE command in the Command window:

     REPLACE company with TRIM(company)+" Inc." for "1st" $ company

   FoxPro will display the "4 replacements" message to indicate that the

   replacements were successful.

5. In the Command window, type the following:

      GO TOP

      BROWSE

Note that the four records have changed.

Additional reference words: 2.0 2.50 2.50a 2.50b


INF: INSTALL.TXT Only Describes Standard Mode Memory Options

Article ID: Q111313

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SUMMARY

=======

The INSTALL.TXT file, located in the main FoxPro directory, only describes

the options available when FoxPro is running in Standard (16-bit) mode.

The mode (Standard or Extended) FoxPro is running in determines the memory

configuration options available during a Workstation Installation (INSTALL

/N).

MORE INFORMATION

================

The Configuration portion of a Workstation Installation runs the FoxPro

application ADDUSER.APP, which displays a dialog box for the user to

configure commands that are then placed in the configuration file (usually

CONFIG.FP). If FoxPro starts in Standard mode to run ADDUSER.APP, a check

box to limit Expanded Memory Specification (EMS)-compliant memory is

displayed as described in INSTALL.TXT.

However, if FoxPro starts in Extended (32-bit) mode, ADDUSER.APP does not

display a check box to limit EMS memory. Instead, it displays a check box

to limit (conventional) memory used by non-FoxPro functions. This option is

not described in INSTALL.TXT.

The INSTALL.TXT file should describe the different memory configuration

options available in both Standard and Extended modes.

NOTE: In Standard mode, if you select the check box to limit EMS memory

available to FoxPro, a new check box appears. This check box lets you avoid

the first 64K of EMS memory. This check box also is not described in

INSTALL.TXT.

The incorrect text is located in the section describing a Workstation

Installation. It is the last paragraph in step 7.

Incorrect Text

--------------

   Descriptions of these options are included in the dialog. By

   default, FoxPro uses all available expanded memory. In this

   dialog, you are given the option to Limit EMS Available to FoxPro.

   There are three push buttons at the bottom of the dialog:

      <<OK>> - Accept the directories and EMS settings.

Additional reference words: 2.50 2.50a 2.50b docerr FOXPRO.EXE FOXPROX.EXE


INF: BROWSE Clauses Saved by PREFERENCE

Article ID: Q111315

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5b

 - Microsoft FoxPro for MS-DOS, version 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The PREFERENCE clause of the BROWSE command is used to save certain

attributes of a Browse window for later use. Some BROWSE clauses are saved

by the PREFERENCE clause, others are not. This article explains which

clauses are saved by the PREFERENCE clause and which are not.

MORE INFORMATION

================

The following BROWSE commands demonstrate clauses that are saved by the

PREFERENCE clause:

   BROWSE FIELDS client_id,company PREF b1

   BROWSE FONT "Courier New",10 PREF b2

   BROWSE STYLE "I" PREF b3

   BROWSE FREEZE contact PREF b6

   BROWSE PARTITION 20 LEDIT PREF b8

   BROWSE PARTITION 20 REDIT PREF b9

   BROWSE LOCK 2 PREF b10

   BROWSE PARTITION 20 PREF b11

   BROWSE PARTITION 20 LPARTITION PREF b12

   BROWSE NOAPPEND PREF b13

   BROWSE NODELETE PREF b15

   BROWSE NOEDIT PREF b16

   BROWSE NOMODIFY PREF b17

   BROWSE PARTITION 20 NOLGRID PREF b18

   BROWSE NORGRID PREF b19

   BROWSE PARTITION 20 NOLINK PREF b20

   BROWSE NOMENU PREF b21

   BROWSE TITLE "Hello" PREF b29

   BROWSE VALID myudf() PREF b30

   BROWSE WHEN mywhen() PREF b33

   BROWSE WIDTH 2 PREF b34

   BROWSE WINDOW test PREF b35

   BROWSE IN WINDOW test PREF b36

   BROWSE COLOR SCHEME 3 PREF b37

   BROWSE FIELD client_id,company:R PREF b38

   BROWSE FIELD client_id,company:3 PREF b39

   BROWSE FIELD client_id,company:v=myudf() PREF b40

   BROWSE FIELD client_id,company:v=myudf():F PREF b41

   BROWSE FIELD client_id,company:v=myudf():F:E='Error' PREF b42

   BROWSE FIELD client_id,company:P='!!!!!!!' PREF b43

   BROWSE FIELD client_id,startbal:B=5,10 PREF b44

   BROWSE FIELD client_id,startbal:B=5,10:F PREF b45

   BROWSE FIELD client_id,startbal:H='Header' PREF b46

   BROWSE FIELD client_id,startbal:W=mywhen() PREF b47

The following BROWSE commands demonstrate clauses that are not saved by the

PREFERENCE clause:

   BROWSE FOR client_id = "A8101" PREF b4

   BROWSE KEY "A8101" PREF b7

   BROWSE NOCLEAR PREF b14

   BROWSE NOOPTIMIZE PREF b22

   BROWSE NOREFRESH PREF b23

   BROWSE NORMAL PREF b24

   BROWSE NOWAIT PREF b25

   BROWSE SAVE PREF b27

   BROWSE TIMEOUT 3 PREF b28

   BROWSE VALID :F myudf() PREF b31

   BROWSE VALID :F myudf() ERROR "Error Here" PREF b32

Steps to Reproduce Behavior

---------------------------

The following code can be used to reproduce the behavior documented in this

article.

* brtest.prg

*****************************************************************

* This program creates a Browse window, saves the preference,   *

* and then issues BROWSE PREFERENCE <prefname> to verify        *

* whether or not the preference was saved. The user must        *

* pay close attention to the information that appears in        *

* a WAIT WINDOW before each BROWSE variation, take any required *

* action, and then compare the BROWSE PREFERENCE results.       *

*****************************************************************

* Run Instructions:

* DO browpref IN brtest

* Use Ctrl + W or Esc to exit each BROWSE window.

* Press Esc repeatedly to terminate the program.

PROCEDURE browpref

ON KEY LABEL F10 RETURN TO browpref

ON KEY LABEL F2 DO varswap

mgood = .T.

SET RESO OFF

IF !FILE("myres.dbf")

     USE SYS(2005) AGAIN

     COPY STRUCTURE TO myres

ENDIF

CLOSE ALL

SET RESOURCE TO myres

CLEAR

DEFINE WINDOW test FROM 05,05 TO 20,40 TITLE "mytestwin" COLO r/w,b/r

CLOSE ALL

SET SAFETY OFF

CREATE TABLE clients (CLIENT_ID C(5),COMPANY C(35), ;

  CONTACT C(20),ADDRESS C(30),CITY C(15),STARTBAL N(5,2))

INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("A8331",;

   "Advantage Computer School            ",;

   "Martin Daniels       ", ;

   "575 Howell Ln.           ;

   ","Wilmette     ",0)

     INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("A8101",;

   "Automated Mayo Miley                ",;

   "Ardew Haldeman       ",;

   "229 Drank Suite 43             ",;

   "San Diego    ",0)

INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("A8101",;

   "Automated Mayo Miley                ",;

   "Ardew Haldeman       ",;

   "229 Drank Suite 43             ",;

   "San Diego    ",0)

     INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("A8101",;

   "Automated Mayo Miley                ",;

   "Ardew Haldeman       ",;

   "229 Drank Suite 43             ",;

   "San Diego    ",0)

INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("B4876",;

   "Balance Computing Systems           ",;

   "M Rasmussen          ",;

   "7 Loop Readied                 ",;

   "Sunnyvale    ",0)

INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("B3615",;

  "Big Masters                         ",;

  "Dorit Springer       ",;

  "8920 Recsize Drive             ",;

  "Fairmont     ",0)

INSERT INTO clients (CLIENT_ID,COMPANY,CONTACT,ADDRESS,CITY, ;

  STARTBAL) VALUES ;

  ("B5620",;

  "Blue Solutions                      ",;

  "Billy Barba          ",;

  "3972 Myron Drive 7             ",;

  "Canoga Park  ",0)

INDEX ON client_id TAG client_id

SET SAFETY ON

SET REFRESH TO 2

DO browchk

CLOSE ALL

CLEAR ALL

RELEASE ALL

RETURN

PROCEDURE browchk

BROWSE

WAIT WINDOW "BROWSE FIELDS client_id,company PREF b1"

BROWSE FIELDS client_id,company PREF b1

BROWSE PREF b1

IF _windows

     WAIT WINDOW "BROWSE FONT 'Courier New',10 PREF b2"

     BROWSE FONT "Courier New",10 PREF b2

     BROWSE PREF b2

ELSE

     WAIT WINDOW "<<SKIP>> BROWSE FONT 'Courier New',10 PREF b2"

ENDIF

IF _windows

     WAIT WINDOW "BROWSE STYLE 'I' PREF b3"

     BROWSE STYLE "I" PREF b3

     BROWSE PREF b3

ELSE

     WAIT WINDOW "<<SKIP>> BROWSE STYLE 'I' PREF b3"

ENDIF

WAIT WINDOW "BROWSE FOR client_id = A8101 PREF b4"

BROWSE FOR client_id = "A8101" PREF b4

BROWSE PREF b4

WAIT WINDOW "BROWSE FREEZE contact PREF b6"

BROWSE FREEZE contact PREF b6

BROWSE PREF b6

WAIT WINDOW "BROWSE KEY 'A8101' PREF b7"

BROWSE KEY "A8101" PREF b7

BROWSE PREF b7

WAIT WINDOW "BROWSE LEDIT PREF b8"

BROWSE PARTITION 20 LEDIT PREF b8

BROWSE PREF b8

WAIT WINDOW "BROWSE REDIT PREF b9"

BROWSE PARTITION 20 REDIT PREF b9

BROWSE PREF b9

WAIT WINDOW "BROWSE LOCK 2 PREF b10"

BROWSE LOCK 2 PREF b10

BROWSE PREF b10

WAIT WINDOW "BROWSE PARTITION 2 PREF b11"

BROWSE PARTITION 20 PREF b11

BROWSE PREF b11

WAIT WINDOW "BROWSE PARTITION 20 LPARTITION PREF b12"

BROWSE PARTITION 20 LPARTITION PREF b12

BROWSE PREF b12

WAIT WINDOW "BROWSE NOAPPEND PREF b13"

BROWSE NOAPPEND PREF b13

BROWSE PREF b13

WAIT WINDOW "BROWSE NOCLEAR PREF b14"

BROWSE NOCLEAR PREF b14

WAIT WINDOW "image should be on screen, clear next"

CLEAR

BROWSE PREF b14

WAIT WINDOW "image should be on screen, clear next"

CLEAR

WAIT WINDOW "BROWSE NODELETE PREF b15"

BROWSE NODELETE PREF b15

BROWSE PREF b15

WAIT WINDOW "BROWSE NOEDIT PREF b16"

BROWSE NOEDIT PREF b16

BROWSE PREF b16

WAIT WINDOW "BROWSE NOMODIFY PREF b17"

BROWSE NOMODIFY PREF b17

BROWSE PREF b17

WAIT WINDOW "BROWSE PARTITION 20 NOLGRID PREF b18"

BROWSE PARTITION 20 NOLGRID PREF b18

BROWSE PREF b18

WAIT WINDOW "BROWSE NORGRID PREF b19"

BROWSE NORGRID PREF b19

BROWSE PREF b19

WAIT WINDOW "BROWSE NOLINK PREF b20"

BROWSE PARTITION 20 NOLINK PREF b20

BROWSE PREF b20

WAIT WINDOW "BROWSE NOMENU PREF b21"

BROWSE NOMENU PREF b21

BROWSE PREF b21

WAIT WINDOW "BROWSE NOOPTIMIZE PREF b22"

BROWSE NOOPTIMIZE PREF b22

BROWSE PREF b22

WAIT WINDOW "BROWSE NOREFRESH PREF b23"

BROWSE NOREFRESH PREF b23

BROWSE PREF b23

WAIT WINDOW "BROWSE NORMAL PREF b24"

ACTI WIND test

BROWSE NORMAL PREF b24

BROWSE PREF b24

DEAC WIND test

WAIT WINDOW "BROWSE NOWAIT PREF b25"

BROWSE NOWAIT PREF b25

WAIT WINDOW "after br 1"

BROWSE PREF b25

WAIT WINDOW "after br 2"

WAIT WINDOW "BROWSE SAVE PREF b27"

BROWSE SAVE PREF b27

BROWSE PREF b27

WAIT WINDOW "BROWSE TIMEOUT 3 PREF b28"

BROWSE TIMEOUT 3 PREF b28

WAIT WINDOW "after browse 1"

BROWSE PREF b28

WAIT WINDOW "after browse 2"

WAIT WINDOW "BROWSE TITLE 'Hello' PREF b29"

BROWSE TITLE "Hello" PREF b29

BROWSE PREF b29

WAIT WINDOW "BROWSE VALID myudf() PREF b30"

BROWSE VALID myudf() PREF b30

BROWSE PREF b30

WAIT WINDOW "BROWSE VALID :F myudf() PREF b31"

BROWSE VALID :F myudf() PREF b31

BROWSE PREF b31

WAIT WINDOW "BROWSE VALID :F myudf() ERROR 'Error Here' PREF b32"

BROWSE VALID :F myudf() ERROR "Error Here" PREF b32

BROWSE PREF b32

WAIT WINDOW "BROWSE WHEN mywhen() PREF b33"

BROWSE WHEN mywhen() PREF b33

BROWSE PREF b33

WAIT WINDOW "BROWSE WIDTH 20 PREF b34"

BROWSE WIDTH 2 PREF b34

BROWSE PREF b34

WAIT WINDOW "BROWSE WINDOW test PREF b35"

BROWSE WINDOW test PREF b35

BROWSE PREF b35

WAIT WINDOW "BROWSE IN WINDOW test PREF b36"

ACTI WIND test

BROWSE IN WINDOW test PREF b36

BROWSE PREF b36

DEAC WIND test

WAIT WINDOW "BROWSE COLOR SCHEME 3 PREF b37"

BROWSE COLOR SCHEME 3 PREF b37

BROWSE PREF b37

WAIT WINDOW "BROWSE FIELD client_id,company:R PREF b38"

BROWSE FIELD client_id,company:R PREF b38

BROWSE PREF b38

WAIT WINDOW "BROWSE FIELD client_id,company:3 PREF b39"

BROWSE FIELD client_id,company:3 PREF b39

BROWSE PREF b39

WAIT WINDOW "BROWSE FIELD client_id,company:v=myudf() PREF b40"

BROWSE FIELD client_id,company:v=myudf() PREF b40

BROWSE PREF b40

WAIT WINDOW "BROWSE FIELD client_id,company:v=myudf():F PREF b41"

BROWSE FIELD client_id,company:v=myudf():F PREF b41

BROWSE PREF b41

WAIT WINDOW "BROWSE FIELD client_id,company:v=myudf():F:E='Error Text';

 PREF b42"

BROWSE FIELD client_id,company:v=myudf():F:E='Error Text' PREF b42

BROWSE PREF b42

WAIT WINDOW "BROWSE FIELD client_id,company:P='!!!!!!!' PREF b43"

BROWSE FIELD client_id,company:P='!!!!!!!' PREF b43

BROWSE PREF b43

WAIT WINDOW "BROWSE FIELD client_id,startbal:B=5,10 PREF b44"

BROWSE FIELD client_id,startbal:B=5,10 PREF b44

BROWSE PREF b44

WAIT WINDOW "BROWSE FIELD client_id,startbal:B=5,10:F PREF b45"

BROWSE FIELD client_id,startbal:B=5,10:F PREF b45

BROWSE PREF b45

WAIT WINDOW "BROWSE FIELD client_id,startbal:H='Header Here' PREF b46"

BROWSE FIELD client_id,startbal:H='Header Here' PREF b46

BROWSE PREF b46

WAIT WINDOW "BROWSE FIELD client_id,startbal:W=mywhen() PREF b47"

BROWSE FIELD client_id,startbal:W=mywhen() PREF b47

BROWSE PREF b47

RETURN

FUNC myudf

     WAIT WINDOW "We are validating"

RETURN (mgood)

FUNC mywhen

     WAIT WINDOW "We are in the WHEN clasue"

RETURN .T.

PROC varswap

     IF mgood = .T.

          mgood = .F.

     ELSE

          mgood = .T.

     ENDIF

RETURN

* eof brtest.prg

Additional reference words: 2.50b


PRB: Linked Bitmap Appears as Gray Box in FoxPro for Macintosh

Article ID: Q111316

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

A bitmap can be placed in a general field in FoxPro for Windows by using

the APPEND GENERAL <general field> FROM <file> LINK command. If the general

field containing the linked bitmap is then viewed in FoxPro for Macintosh,

the bitmap appears as a gray square.

STATUS

======

Microsoft is researching this problem and will post new information here as

it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. In FoxPro for Windows, run the following code:

      CREATE TABLE x (picture G)

      APPEND BLANK

      APPEND GENERAL picture FROM sys(2004)+"fox.bmp" LINK

      MODIFY GENERAL x.picture

2. Transfer PICTURE.DBF and PICTURE.FPT to the Macintosh.

3. Start FoxPro for Macintosh and issue the following command in the

   Command window:

      BROWSE picture.dbf

4. Double-click the general field.

A dithered gray square is displayed instead of FOX.BMP.

Additional reference words: 2.50b grey ole picture


INF: Default MVCOUNT Value Increased in FoxPro for Macintosh

Article ID: Q111317

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

The default value for MVCOUNT has been increased to 1024 in FoxPro 2.5b for

Macintosh. The default value in FoxPro 2.5 for Windows and MS-DOS is 256.

Additional reference words: 2.50b memory variables memvar limit capacity


PRB: Splitting a Filename in a Command Line Causes Error

Article ID: Q111318

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

Using a semicolon (;) to split a filename over two or more lines in a

command line generates the error message "Unrecognized phrase/keyword in

command."

RESOLUTION

==========

To use a semicolon to break program lines containing filenames, use one of

the following two methods:

 - Do not break the line in the middle of the filename. Use the following

   method for splitting the command line instead:

      USE;

      C:\FOXPROW\TUTORIAL\CUSTOMER

   -or-

 - Surround the file designation with quotation marks:

      USE "C:\FOXPROW\TUT;

      ORIAL\CUSTOMER"

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Assuming you do not already have a program called TEST.PRG, create a

   program called TEST.PRG that contains the following lines of code. You

   can substitute any directory path to a valid .DBF file.

      USE C:\FOXPROW\TUT;

      ORIAL\CUSTOMER

2. Save the program, and type "DO test" (without the quotation marks) in

   the FoxPro Command window.

You should receive an "Unrecognized phrase/keyword in command" error.

Additional reference words: 2.00 2.50 2.50a 2.50b err msg errmsg

continue continuation partial split break divide


INF: Macintosh File Sharing and Exclusive .DBF Use

Article ID: Q111320

--------------------------------------------------------------------

The information in this article applies to:

  - Microsoft FoxPro for Macintosh, version 2.5b

  - Microsoft FoxBASE+ for the Macintosh, versions 2.0 and 2.01

--------------------------------------------------------------------

SUMMARY

=======

After the command SET EXCLUSIVE OFF has been issued in FoxPro for Macintosh

or FoxBASE+ for the Macintosh, databases that are subsequently opened will

continue to be opened exclusively if they exist on a local drive and

Macintosh File Sharing has not been started.

To start Macintosh File Sharing, double-click Sharing Setup in the Control

Panels window, and then click the Start button in the File Sharing section

of the dialog box.

MORE INFORMATION

================

FoxPro and FoxBASE+/Mac rely on the file-sharing capabilities of System 7

in order to open databases nonexclusively in peer-to-peer situations.

Therefore, if Macintosh File Sharing has not been started, FoxPro and

FoxBASE+ will ignore any requests to open locally stored databases as

shared. This behavior also occurs if File Sharing is in the process of

starting up.

This situation will not arise between two or more systems on a network

because files cannot be shared unless File Sharing has already been

enabled. The only situation where this behavior is likely to occur is in a

development environment where there are multiple instances of a FoxPro or

FoxBASE+ application on a single system and the developer is using the same

files to test the application's multiuser logic.

Additional reference words: 2.00 2.01 2.50b share use another open multi-

user


PRB: STR() Rounds Instead of Truncating

Article ID: Q111321

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The STR() function rounds instead of truncates a numeric field or variable

if the result being returned has fewer decimal places than the original

numeric expression.

CAUSE

=====

There is a mistake in the documentation for the STR() function.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

According to the online Help file and the "Language Reference" (page

L3-1054 for Windows and MS-DOS and page 835 for the Macintosh), if you use

the STR() function and specify fewer decimal places than in the original

numeric expression, the extra digits are truncated. In fact, the string

will be reduced to the specified number of digits, but the decimals will

have been rounded rather than truncated.

To duplicate this scenario, type the following code at the Command window:

   ? STR(123.456,6,2)

This command line specifies that we want the string returned with six total

digits including two decimal places. The original numeric expression has

three decimal places.

A true truncation would return 123.45; however, FoxPro will return 123.46.

The expression has been reduced to the correct number of digits, but the

value has been rounded instead of truncated.

Additional reference words: 2.00 2.50 2.50a 2.50b transform picture

number docerr tshoot


INF: Code Page Information Stored in Byte 29 of Table Header

Article ID: Q111322

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5a and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5a and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

Code page information is stored in byte 29 of the header of a database

(table) file (.DBF).

MORE INFORMATION

================

The program CPZERO.PRG is automatically installed in your main FoxPro

directory. CPZERO.PRG is provided to reset a table's code page to

zero. To see an example of how to modify a table's code page, view the

contents of CPZERO.PRG.

Additional reference words: 2.50a 2.50b codepage set collate to


INF: How to Change the Report Writer's Default Font

Article ID: Q111323

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

To change the default font used by the Report Writer, create an empty

report, specify the desired font, and then save the report with the name

UNTITLED.FRX. For a detailed description, see below.

NOTE: This method works only when you create new reports in the same

directory that contains the UNTITLED.FRX file.

MORE INFORMATION

================

Steps to Change the Default Font

--------------------------------

1. Use the Report Writer to create a new report.

2. From the Report menu, choose Page Layout.

3. Choose the Font button.

4. Select the desired font, font style, and font size.

5. Choose the OK button twice to return to the Report Layout window.

6. Save the file as UNTITLED.FRX.

7. When asked if you want to save the environment information, choose No.

From now on, new reports created in this directory will automatically

use the font information specified in UNTITLED.FRX.

Additional reference words: 2.50 2.50a 2.50b


INF: LASER.APP and Laserdisk Library Errors in "Master Index"

Article ID: Q111505

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

The listings for LASER.APP and Laserdisk Library in the "Master Index"

are incorrect. Both listings have the manual and page number of G2-10

("Getting Started," page 2-10).

These topics are not covered on that page. The manual and page number

for both should be D20-5 ("Developer's Guide," page 20-5).

Additional reference words: 2.50 2.50a 2.50b docerr


PRB: Generate Command on Program Menu Is Disabled

Article ID: Q111507

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The Generate command on the Program menu, which is used to generate

program code for the Screen Builder and Menu Builder, is disabled.

CAUSE

=====

 - A program is currently running.

   -or-

 - The Screen Builder or Menu Builder window is not the active window.

   -or-

 - The _GENMENU or _GENSCRN system memory variable has been set to null.

RESOLUTION

==========

To resolve this problem, do one of the following:

 - Cancel execution of the program that is currently running. Open the

   Program menu. If the Cancel command is available (not disabled), then a

   program is currently running. Choose Cancel to stop execution of the

   program.

   -or-

 - Click the Screen Builder or Menu Builder window (or icon if the window

   has been minimized) to make it the active window (or icon). Look for the

   window or icon with either the .SCX (screen) or .MNX (menu) extension.

   -or-

 - Set the _GENMENU or _GENSCRN system memory variable to the appropriate

   path and file. For example, assuming FoxPro is installed in the FOXPROW

   directory on drive C, type one of the following commands in the Command

   window to restore the appropriate system memory variable:

      _GENSCRN = C:\FOXPROW\GENSCRN.PRG

      _GENMENU = C:\FOXPROW\GENMENU.PRG

STATUS

======

This behavior is by design.

Additional reference words: 2.00 2.50 2.50a 2.50b grayed greyed dimmed

unavailable


INF: How to Check Available Windows System Resources

Article ID: Q111508

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The code sample below demonstrates how FOXTOOLS.FLL can be used to check

the available Windows system resources from within FoxPro for Windows or a

FoxPro for Windows application.

MORE INFORMATION

================

FOXTOOLS.FLL is a FoxPro application programming interface (API) library

that allows FoxPro programs to call many Windows dynamic-link library (DLL)

functions. The FOXTOOLS.WRI document explains how to use FOXTOOLS.FLL. Both

files are located in the GOODIES\FOXTOOLS subdirectory of the main FoxPro

for Windows directory.

The GetFreeSystemResources() function returns an integer representing the

percentage of unused system, USER, or GDI resources. This function is part

of the Microsoft Windows API. This function accepts the following

parameters:

   UINT GetFreeSystemResources(fuSysResource)

   UINT fuSysResource      /* Type of resource to check */

There are three resource types that can be checked:

 - GSFR_SYSTEMRESOURCES: Returns the percentage of free space for system

   resources. This is the same as the value found in the About box on the

   Program Manager Help menu. This number represents the lower of the

   following two values. (Value = 0.)

 - GSFR_GDIRESOURCES: Returns the percentage of free space for GDI

   resources. GDI resources include device-context handles, brushes, pens,

   regions, fonts, and bitmaps. (Value = 1.)

 - GSFR_USERRESOURCES: Returns the percentage of free space for USER

   resources. These resources include window and menu handles. (Value = 2.)

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

   * Program to check Windows system resources

   * Establish constants

   #DEFINE sysreso 0

   #DEFINE gdireso 1

   #DEFINE userreso 2

   * Load the FOXTOOLS.FLL library

   SET LIBRARY TO SYS(2004) + "FOXTOOLS.FLL" ADDITIVE

   * Call RegFN() to register the GetFreeSystemResources() function

   getsysres = RegFn("GetFreeSystemResources", "I","I")

   * If RegFn() returned a value that is greater than -1, it can be

   * assumed that the function was successfully registered.

   IF getsysres > -1

      * CallFn() is used to call the GetFreeSystemResources() function

      * with the desired parameter. The constant sysreso is used here

      * to return the percentage of free resources. CallFn() could also

      * be used with the gdireso or userreso constants defined above to

      * return the percentage of free GDI or USER resources.

      x = CallFn(getsysres, sysreso)

      WAIT WINDOW "Current System Resources are:"+STR(x,3,0)+"%"

   ENDIF

   * Unload FOXTOOLS.FLL from memory

   RELEASE LIBRARY SYS(2004)+ "FOXTOOLS.FLL"

REFERENCES

==========

Microsoft FoxPro for Windows FOXTOOLS.WRI

Microsoft Windows Software Development Kit "Programmer's Reference, Volume

2: Functions," version 3.1

Additional reference words: 2.50 2.50a 2.50b api fll lck fox tools


ERR: "Too Many PICTURE Characters Specified" in @ ... GET

Article ID: Q111509

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

- Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

- Microsoft FoxPro for Macintosh, versions 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

The error message "Too many PICTURE characters specified" occurs when

you attempt to run a screen program.

CAUSE

=====

The screen program contains an @ ... GET command, based upon a character

memory variable, that includes a SIZE clause in which the result of the

number of rows multiplied by the number of columns is greater than 250.

RESOLUTION

==========

If the Screen Builder was not used, replace the @ ... GET command with an @

... EDIT command. If the screen was built using the Screen Builder in

FoxPro for Windows or FoxPro for Macintosh, replace the GET object with an

EDIT region. If the screen was built using the Screen Builder in FoxPro for

MS-DOS, change the GET object to an EDIT object.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Create a new screen with one GET field based on m.x.

2. Resize the GET field so the number of characters it can hold is greater

   than 250.

2. In the Setup code of the screen, add the following command:

      m.x = "Test String"

3. Generate the screen code.

4. Execute the .SPR program.

The error message "Too many PICTURE characters specified" will occur and

the @ ... GET command will be highlighted in the .SPR program.

Additional reference words: 2.00 2.50 2.50a 2.50b errmsg err msg @get

@...get


PRB: <ExpC3> of PUTFILE() Is Ignored in FoxPro for Macintosh

Article ID: Q111510

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

If you are developing a cross-platform application and you include <expC3>

in the PUTFILE() function, it will be ignored in FoxPro for Macintosh.

For example, suppose you run the following code in both FoxPro for Windows

and FoxPro for Macintosh:

  ? PUTFILE('Choose a program file', 'test.prg', 'PRG')

In FoxPro for Windows, this code will create a dialog box that displays all

files with an extension of .PRG. In FoxPro for Macintosh, the same dialog

box will display all files in the current folder without filtering them by

extension.

STATUS

======

This behavior is by design due to the Macintosh standard of not relying on

file extensions for operations.

REFERENCES

==========

FoxPro for Macintosh Help file

Additional reference words: 2.50b


PRB: Windows Defined Side-by-Side May Overlap

Article ID: Q111511

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Two windows that are defined with a common side may overlap each other

when you are using smaller screen font point sizes.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Start FoxPro for Windows.

2. While holding down the SHIFT key, open the Text menu and then choose

   Screen Font.

3. In the Font dialog box, select Courier New, Regular style, 9 point

   size. Choose OK.

4. In the Command window, issue the following commands:

      DEFINE WINDOW test1 FROM 1,1 TO 20,20

      DEFINE WINDOW test2 FROM 2,20 TO 20,40

      ACTIVATE WINDOW test1

      ACTIVATE WINDOW test2

Note that the two windows overlap. However, if you increase the screen font

size to 10 point and reexecute the code above, the windows will have a gap

between them.

Additional reference words: 2.50 2.50a 2.50b cover up over lap


PRB: Application Tries to Locate Menu

Article ID: Q111513

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

A procedure called from a menu may bring up a "Where is MENUNAME?" dialog

box to locate the .MPR file.

CAUSE

=====

A FoxPro application looks for an .MPX or .MPR file in the application when

running a procedure. Therefore, it is necessary to have a valid .MPX or

.MPR file. In order for the application to find the .MPX or .MPR file, a

LOCFILE command is used in the system-generated code to locate the menu

program. It looks for the menu program files in the following order:

   .MPX

   .MPR

   .FXP

   .PRG

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

 1. Create a new project called TEST.

 2. Create a new menu called TEST that is created using the Quick Menu

    command on the Menu menu.

 3. From the File menu, choose Exit, and change the BAR# to PROCEDURE.

    Choose the Create button and type:

        CLEAR READ ALL

        SET SYSMENU TO DEFAULT

 4. Create an option on the File menu that has a prompt of 'First wait

    window'. Change BAR# to COMMAND. Type:

        WAIT WINDOW 'One

 5. Create another option on the File menu that has a prompt of 'Second

    wait window'. Change BAR# to PROCEDURE. Choose the Create button and

    type:

        WAIT WINDOW 'Two

 6. Build the .APP.

 7. Compile TEST.MPR into TEST.MPX.

 8. Go into Filer and rename TEST.MPR to TEST1.MPR. Also rename TEST.MPX

    to TEST1.MPX.

 9. Run the application. Choose the item to run the first WAIT window.

    Then, choose the second WAIT window.

    In FoxPro for MS-DOS or Foxpro for Windows, the dialog box "Where is

    TEST" should appear.

    In FoxPro for Macintosh, the system error message "Procedure 'system

    generated procname' not found." should appear.

10. Press CTRL+F2 to open the Command window, and the issue the following

    command:

       SET SYSMENU TO DEFAULT

11. Go into Filer and rename TEST1.MPR to TEST.MPR and rename TEST1.MPX to

    TEST.MPX.

Rerun the application. The "Where is TEST" dialog box should not appear

now.

Additional reference words: 2.00 2.50 2.50a 2.50b "procedure not found"


PRB: INSTALL /N Adds a Semicolon (;) to Beginning of PATH

Article ID: Q111523

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

If the PATH environment variable in the AUTOEXEC.BAT file already contains

the Administrative Installation directory, the Network Installation

(INSTALL /N) adds an extra semicolon (;) to the beginning of the PATH

statement.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a,

and 2.5b for MS-DOS. We are researching this problem and will post new

information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. At the MS-DOS command prompt, type "PATH" (without the quotation marks)

   to view the current PATH environment variable. In this example, assume

   that the Administrative Installation directory is N:\ADMIN, and that

   typing PATH displays the following:

      PATH=C:\DOS;N:\ADMIN

2. At the MS-DOS command prompt, type the following to start the

   installation program and create a Network Installation in the C:\FOX

   directory:

      N:

      CD\ADMIN

      INSTALL /N C:\FOX

3. At the installation program's Welcome screen, press any key to continue.

4. When prompted for the installation directory, press the ENTER key (which

   defaults to Yes) to accept the default directory, which should be

   C:\FOX.

5. When prompted to add the installation directory to the PATH statement in

   the AUTOEXEC.BAT file, press ENTER (which defaults to Yes).

6. At the screen that informs you that a backup of AUTOEXEC.BAT was saved,

   press any key to continue.

7. At the screen that says "The Basic portion of installation is

   complete," press the ESC key to quit.

8. At the Installation Complete screen, press any key to continue.

   You are now returned to the MS-DOS prompt.

9. Use a text editor, or type the following command at the MS-DOS command

   prompt to view the contents of the AUTOEXEC.BAT file. Look for the PATH

   statement.

      TYPE C:\AUTOEXEC.BAT | MORE

Note that the path statement contains an extra semicolon before the first

path name. In this example, the PATH statement will look like one of the

following:

   PATH ;C:\FOX;C:\DOS;N:\ADMIN

   -or-

   SET PATH = ;C:\FOX;C:\DOS;N:\ADMIN

Additional reference words: 2.50 2.50a 2.50b


PRB: ADDUSER.APP Doesn't Create DOSMEM= for Default Amount

Article ID: Q111524

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

In the configuration screen of ADDUSER.APP, selecting the "Limit the memory

reserved for non-FoxPro functions" check box and using the default maximum

amount does not create a DOSMEM=<memory_amount> line in the configuration

file (CONFIG.FP by default).

NOTE: This check box is displayed only when you are running the Extended

(32-bit) version of FoxPro (FOXPROX.EXE).

WORKAROUNDS

===========

If you do not want to limit the amount of memory available to non-FoxPro

programs, clear the check box. Non-FoxPro programs will be able to use all

available memory. If, however, you want to limit the amount of memory

available, do one of the following:

 - Choose a value that is less than the default amount. This creates the

   appropriate DOSMEM=<memory_amount> line in the configuration file.

   -or-

 - Use a text editor to manually add a DOSMEM=<memory_amount> line to the

   configuration file.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a,

and 2.5b for MS-DOS. We are researching this problem and will post new

information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Start the Extended version of FoxPro for MS-DOS (FOXPROX.EXE).

2. Start ADDUSER.APP, which is located in the main FoxPro directory. For

   example, if FoxPro is installed in C:\FOXPRO25, type the following in

   the Command window:

      SET DEFAULT TO C:\FOXPRO25

      DO ADDUSER.APP

3. Select the workstation directory. You can accept the default directory

   supplied in the text box, or type a different directory, and then press

   ENTER.

4. When prompted, choose Continue With Configuration.

5. The next dialog box is the configuration screen. Select the "Limit the

   memory reserved for Non-FoxPro functions" check box. Once this check box

   is selected, a default amount of memory is supplied. (The default is the

   amount of available memory reported by the MEMORY() function.) Choose OK

   to accept this amount.

6. Choose OK to update the AUTOEXEC.BAT file.

7. Choose OK to update the configuration file.

8. Press any key to continue.

The ADDUSER.APP application quits, returning to the FoxPro Command window.

View the configuration file in the workstation directory. Note that it does

not contain a DOSMEM=<memory_amount> line.

Additional reference words: 2.50 2.50a 2.50b network configuration add-on


PRB: Screen Scrolls During RUN Command

Article ID: Q111538

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

If you issue a RUN command and the status bar is set to ON, the screen will

scroll upward. For example, if you run the following code

   SET STATUS ON

   @ 1,50 SAY "This is line 1"

   RUN DIR >NUL

the screen will scroll upward and the SAY will no longer be visible.

RESOLUTION

==========

Change the first line of the code above to read SET STATUS OFF. If you then

execute the next two lines of code, the screen won't scroll and the SAY

line will remain visible.

Additional reference words: 2.00 2.50 2.50a 2.50b move movement


INF: How to Determine the Coordinates of a GET Field

Article ID: Q111549

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

To determine a GET field's coordinates, use the _CUROBJ variable to place

the cursor in the desired GET field. Then use the COL() and ROW() functions

to determine the row and column of the cursor.

MORE INFORMATION

================

Assign the _CUROBJ system variable to the desired GET field. (To determine

the number of the field, use the OBJNUM() function.)

Once the cursor is in the GET field, use the ROW() and COL() functions to

determine the coordinates of the cursor, which are the same as the first

position of the GET field.

Program Example

---------------

The following program demonstrates the use of _CUROBJ, ROW(), and COL() to

get the coordinates of a GET field. Press the F2 or F3 key to go to the

desired field, then press F4 to display the coordinates of that field.

   ON KEY LABEL F2 DO GotoObj1

   ON KEY LABEL F3 DO GotoObj2

   ON KEY LABEL F4 DO DispXY

   SET TALK OFF

   @ 1, 2 get m.test1 DEFAULT SPACE(10)

   @ 3, 4 get m.test2 DEFAULT SPACE(10)

   READ CYCLE

   ON KEY LABEL F2

   ON KEY LABEL F3

   ON KEY LABEL F4

   PROCEDURE GoToObj1  && Places cursor in first field

   _CUROBJ = 1

   RETURN

   PROCEDURE GoToObj2  && Places cursor in second field

   _CUROBJ = 2

   RETURN

   PROCEDURE DispXY  && Displays coordinates of current field

   m.x = ROW()

   m.y = COL()

   WAIT WINDOW "X:" + STR(m.x,5,2) + ", Y: " + STR(m.y,5,2)

   RETURN

Additional reference words: 2.00 2.50 2.50a 2.50b


FW0989: FoxPro Knowledge Base Help File on Current Issues

Article ID: Q111635

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

Microsoft Product Support Services (PSS) regularly extracts the most

current Microsoft Knowledge Base articles from the FoxPro databases and

creates a Windows Help file from this extract. Microsoft then posts the

file to the Microsoft Software Library and the FoxForum on CompuServe.

The Help file for FoxPro is named FOXPRO.EXE and contains all Microsoft

FoxPro Knowledge Base articles, Application Notes, and Microsoft FastTips

Questions & Answers published between November 20, 1993, and February 7,

1994.

TO OBTAIN FOXPRO.EXE

====================

 - FOXPRO.EXE can be found in the Software Library on GEnie, CompuServe,

   and Microsoft OnLine by searching on the word FOXPRO.EXE, the Q number

   of this article, or S14567. FOXPRO.EXE is a compressed, self-extracting

   file. After you download FOXPRO.EXE, run it to extract the file(s) it

   contains.

   NOTE: On CompuServe, FOXPRO.EXE is also in section 15 (FoxPro NEW

   Updates) of the Fox Software Forum and section 1 (MS Info and Index) of

   the Fox Users Forum.

 - FOXPRO.EXE is also available for downloading through the Microsoft

   Download Service (MSDL). The number for the MSDL is (206) 936-6735. This

   service is available 24 hours a day, 7 days a week. The highest download

   speed available is 14,400 bits per second (bps). For more information

   about using the MSDL, call (800) 936-4300 and follow the prompts.

   FOXPRO.EXE is a compressed, self-extracting file. After you download

   FOXPRO.EXE, run it to extract the file(s) it contains.

 - On the Internet, FOXPRO.EXE is located on the Microsoft anonymous ftp

   server, which you can reach by typing "ftp ftp.microsoft.com" (without

   the quotation marks) at the ">" command prompt. FOXPRO.EXE is in the

   DESKAPPS\FOX directory.

 - You can have FOXPRO.EXE (Application Note FW0989) mailed or faxed to you

   from the automated Microsoft FastTips Technical Library, which you can

   call 24 hours a day, 7 days a week at (800) 936-4300. NOTE: The FastTips

   Technical Library is available only to customers within the U.S. and

   Canada.

 - If you are unable to access the source(s) listed above, you can have

   FOXPRO.EXE (Application Note FW0989) mailed to you by calling Microsoft

   Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M.

   Pacific time at (206) 635-7191. If you are outside the United States,

   contact the Microsoft subsidiary for your area. To locate your

   subsidiary, call Microsoft International Customer Service at (206)

   936-8661.

Additional reference words: CIS winhelp kb appnote softlib 2.50 2.50a 2.50b


INF: How to Create a Confirmation Screen Using Screen Builder

Article ID: Q111669

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

Many applications use confirmation screens that present the user with

push buttons to answer a question.

The steps below describe how to use the Screen Builder to create a

confirmation screen containing Yes and No push buttons.

MORE INFORMATION

================

Sample Confirmation Screen with Yes and No Push Buttons

-------------------------------------------------------

 1. Type the following in the Command window to start the Screen

    Builder:

       CREATE SCREEN

 2. Place a text field on the screen. (In FoxPro for Windows or FoxPro

    for Macintosh, select the Text tool from the toolbox. In FoxPro for

    MS-DOS, choose Text from the Screen menu.)

 3. In the text field, type the question asked of the user. For this

    example, type the following:

       Save changes?

 4. Place a push button on the screen. (In FoxPro for Windows or FoxPro

    for Macintosh, select the Push Button tool from the toolbox. In

    FoxPro for MS-DOS, choose Push Button from the Screen menu.)

 5. Under Push Button Prompts, type "\!\<Yes" (without the quotation

    marks)in the first column.

    NOTE: The backslash and exclamation mark characters (\!) at the

    beginning of the push button prompt designate this push button as

    the default. The backslash and less-than characters (\<|) in front

    of the letter Y designate Y as the access key (also known as a hot

    key.)

 6. Move down to the second row under Push Button Prompts. Type

    "\?\<No" (without the quotation marks) in the second prompt area.

    NOTE: the backslash and question mark characters (\?) at the

    beginning of the push button prompt designate it as the escape or

    cancel push button. The backslash and less-than characters (\<|)

    in front of the letter N designate N as the access key.

 7. In the Variable text box, type "m.confbtn" (without the quotation

    marks).

 8. Under Clauses, choose Valid.

 9. Verify that the Procedure radio button is selected, then type the

    following in the text editing region:

       IF m.confbtn = 1

          * Place the code performed when "Yes" is chosen here.

       ELSE

          * Place the code performed when "No" is chosen here.

       ENDIF

       CLEAR READ

10. Choose OK twice to return to the Screen Design window.

11. From the Program menu, choose Generate.

12. When prompted to save changes to the screen, choose Yes, then save

    the screen with the name TEST.

13. When prompted to save environment information, choose No.

14. In FoxPro for Windows and FoxPro for Macintosh, choose the More

    button in the Generate Screen dialog box to view all Generate options.

    (FoxPro for MS-DOS automatically displays all Generate options.)

15. Clear the Open Files and Close Files check boxes.

16. Choose the Generate button.

17. Run TEST.SPR to test the screen.

NOTE: If the screen appears briefly, then clears before a push button

has been selected, add the following code to the screen's Setup

snippet in order to initialize the push button variable:

   m.confbtn = 1

Additional reference words: 2.00 2.50 2.50a 2.50b ok cancel


ERR: "API Library Not Found" in Low-Memory Situations

Article ID: Q111671

-----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

-----------------------------------------------------------------------

SYMPTOMS

========

When you are running BEAUTIFY.APP, the utility that helps you make cosmetic

changes to the appearance of a program file, the following error message

box appears:

   API Library not found.

The message box contains Cancel, Suspend, and Ignore push buttons. If you

choose Ignore, the following error message appears:

   File 'fdbeautify.prg' does not exist.

This message box contains Cancel, Suspend, and Ignore push bush buttons as

well. If you choose Ignore, the original error message box appears.

CAUSE

=====

There is not enough memory to load the API library that BEAUTIFY.APP

references. An API library is a file that contains functions accessible to

other programs. Many programs included with FoxPro for Macintosh, including

BEAUTIFY.APP, use API libraries to perform tasks. The API libraries that

come with FoxPro for Macintosh can be found in the System Folder:Extensions

folder and end with the extension ".MLB".

RESOLUTION

==========

If the above error occurs, it is best to choose Cancel. To clear the

Beautification Options window that was left behind because the program was

canceled, do the following:

1. From the Window menu, choose Command to gain access to the Command

   window.

2. In the Command window, issue the following command:

      CLEAR WINDOWS

To free more memory, try any or all of the following suggestions until the

error does not recur:

 - If other applications are running in the background, save your work to

   disk and quit those applications. It should not be necessary to quit

   Microsoft FoxPro since the memory needed by the API library is allocated

   from the system heap.

   -or-

 - Quit Microsoft FoxPro, and reduce the Minimum and Preferred memory

   allocation for FoxPro. These settings are located in an application's

   Get Info dialog box; the procedure for altering them is described in the

   "Macintosh User's Guide" that comes with your Macintosh.

   NOTE: Reducing the amount of memory available to Microsoft FoxPro may

   have undesirable side-effects relating to other features of the product.

   Therefore, make note of the changes made regarding memory allocation in

   the Get Info dialog box.

   -or-

 - Reduce the amount of memory being used by the Macintosh system software.

   For specific information about how to make the following adjustments,

   see the "Macintosh User's Guide" included with the Macintosh.

    - If more than 8 MB of RAM are installed, make sure that 32-bit

      addressing is enabled.

    - Remove any unnecessary control panels or extensions (INITs) from

      the System Folder and restart the Macintosh. Do not remove the

      Shared Library Manager or FOXDOC.MLB from the Extensions folder.

      BEAUTIFY.APP requires these files in order to function properly.

    - Depending on what version of the Macintosh system software is

      active, remove excess fonts from the System Suitcase or from the

      Fonts folder in the System Folder. Prior to System 7.1, fonts are

      stored in the System Suitcase. Also, remove any extra sounds from

      the System Suitcase.

   -or-

 - Install more physical memory (RAM).

For more information about managing memory on the Macintosh, see the

appropriate sections in the "Macintosh User's Guide."

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

NOTE: It is easiest to reproduce this behavior on a Macintosh with 8 or

fewer megabytes of RAM.

1. In the Finder, determine the amount of RAM available on the system by

   choosing About The Macintosh from the Apple menu. From this information,

   make adjustments to the memory allocated to FoxPro. The goal is to

   allocate all available memory in the system heap so that there is not

   enough free memory for the Shared Library Manager to load FOXDOC.MLB,

   the API library that BEAUTIFY.APP needs in order to function.

   If, for instance, there is a total of 8 MB available and the largest

   unused block is 5.7 MB, change the preferred allocation to FoxPro to

   5600K. Memory allocation to applications is specified by selecting the

   application icon and choosing Get Info from the File menu.

2. Create a short program file such as the following:

      X=1

      DO WHILE x<3

        x=x+1

      ENDDO

3. With the program file still open, choose Beautify from the Program menu.

Additional reference words: 2.50b ASLM errmsg err msg


INF: How to Use a Portion of a Memo Field in a List Box

Article ID: Q111672

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

This article describes how to effectively use a portion of a memo field in

a list box object that is part of a user-defined screen.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

To illustrate how to use a portion of a memo field in a list box object,

suppose that the first 40 characters of the memo field are needed for the

list box.

If a list box object is created using the Screen Builder and the List Items

From Field option is selected, then a reasonable expression to enter in the

field expression dialog window is:

   LEFT(<memo field name>,40)

This expression will work well as long as all the first lines of all the

memo fields in each record are at least 40 characters. If this is not the

case, for instance, if some of the memo fields have first lines that are

less than 40 characters, the above statement will return the carriage

return (CR) and linefeed (LF) characters and display them in the list box.

Since this is not a desirable side-effect, the following two expressions

will correct this situation.

NOTE: Although the first expression works well, the second expression

provides a more concise solution.

   LEFT(<memo field name>,IIF(AT(CHR(13), <memo field name>);

        <40,AT(CHR(13),<memo field name>)-1,40))

   -or-

   LEFT(MLINE(<memo field name>,1),40)

The second expression works because the MLINE() function is going to return

the characters for the first line of the memo field, up to but not

including the CR/LF characters.

The only thing to watch out for concerning the second expression is the

current SET MEMOWIDTH value (the default line length is 50 characters). If

the MEMOWIDTH is less than 40, no error will result, but only the number of

characters corresponding to the MEMOWIDTH value will be returned. For

example, if the MEMOWIDTH value is 35, only 35 characters will be returned

from the second expression.

Additional reference words: 2.00 2.50 2.50a 2.50b listbox


ERR: Unable to Find Unknown <Array> When <Array> Is in Report

Article ID: Q111673

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When you are building an application, it is not uncommon to receive a

warning dialog box that indicates that FoxPro was unable to find a

particular program, menu, report, or array. This error is often caused by a

report that calls an array.

CAUSE

=====

When this compiler error occurs, the EXTERNAL command is normally used to

resolve this issue. According to the online help file, an array should be

declared EXTERNAL under the following circumstances:

 - When an array is created in an upper-level program and is used in a

   lower-level program.

      Sample Code

      -----------

      DIMENSION invoice(4)

      STORE 'Paid' to invoice

      DO dispinv

      ** Procedure that uses the array called invoice ***

      PROCEDURE dispinvo

      EXTERNAL ARRAY invoice

      ? invoice(1)

      ? invoice(2)

      ? invoice(3)

      ? invoice(4)

      RETURN

 - When passing an array to a user-defined function (UDF) or procedure.

      Sample Code

      -----------

      DIMENSION firstarray(2)

      EXTERNAL ARRAY arraytwo

      SET TALK OFF

      STORE 10 to firstarray(1)

      STORE  2 to firstarray(2)

      =ADDTWO(@firstarray)

      FUNCTION addtwo

      PARAMETERS arraytwo

      CLEAR

      arraytwo(1) = arraytwo(1) + 2

      arraytwo(2) = arraytwo(2) + 2

      ? arraytwo(1)

      ? arraytwo(2)

      RETURN

When a report calls an array, the array is always EXTERNAL to the report.

There is no way to fully implement either of the above methods because we

cannot modify the code that is created to produce the report.

RESOLUTION

==========

One possible resolution to this issue is to create a dummy procedure or

function with the same name as the array that is called in the report. This

procedure should never be called and should have no more than a RETURN

statement. However, its existence will make the compiler quit looking for

the array inside the report. In any instance where the array name is used,

the FoxPro compiler will assume that we are making a call to the dummy

procedure and not to an array that exists elsewhere. This will have no

effect on the compiled application and the report will call the array as

expected.

Additional reference words: 2.00 2.50 2.50a 2.50b unknown array report

error message errmsg err msg


PRB: Paper Source Not Saved in Report

Article ID: Q111675

----------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The paper source is not saved with a report created in the Report Writer.

However, all other options are saved with the report.

For example, if you choose Page Layout from the Report menu, then choose

Print Setup and change the Paper Source setting to something other than the

default and then save the report, the next time the report is opened the

paper source will revert back to the default setting.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a,

and 2.5b for Windows. We are researching this problem and will post new

information here in the Microsoft Knowledge Base as it becomes available.

RESOLUTION

==========

To work around this problem:

1. Open the Windows Control Panel.

2. Double-click the Printers icon.

3. Select the printer driver you want.

4. Choose the Setup button.

5. Change the paper source, choose OK, and then choose Close.

6. In FoxPro, save the report again with the correct paper source.

NOTE: The tray selection for the report definition will remain the same

only as long as you don't modify the settings in the Control Panel Printer

Setup dialog box.

Additional reference words: 2.50 2.50a 2.50b


FW0983: FoxPro Error Messages Help File

Article ID: Q111733

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Microsoft has made available an Application Note titled "FoxPro Error

Messages Help File" (FW0983). This Application Note contains a Windows

Help file that describes the error messages and general troubleshooting

procedures for FoxPro versions 2.0, 2.5, 2.5a, and 2.5b for MS-DOS and

FoxPro versions 2.5, 2.5a, and 2.5b for Windows. Error messages for

FoxDoc and the distribution kits are also included.

You can obtain this Application Note from the following sources:

 - CompuServe, GEnie, and Microsoft OnLine

 - Microsoft Download Service (MSDL)

 - The Internet (Microsoft anonymous ftp server)

 - Microsoft FastTips Technical Library

 - Microsoft Product Support Services

For complete information, see the "To Obtain This Application Note"

section at the end of this article.

THE TEXT OF FW0983

==================

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

                FW0983: FOXPRO ERROR MESSAGES HELP FILE

======================================================================

                                                   Revision Date: 2/94

                                                       1 Disk Included

The following information applies to Microsoft FoxPro. See below for

versions.

-----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1994 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

|---------------------------------------------------------------------|

INTRODUCTION

============

The disk enclosed with this Application Note contains a Windows Help

file that describes the error messages and general troubleshooting

procedures for FoxPro versions 2.0, 2.5, 2.5a, and 2.5b for MS-DOS and

FoxPro versions 2.5, 2.5a, and 2.5b for Windows. Error messages for

FoxDoc and the distribution kits are also included.

NOTE: You must be running Windows version 3.1 in order to use this

Help file.

To install the Help file

------------------------

1. Insert the enclosed FW0983 disk in your floppy disk drive.

2. At the MS-DOS command prompt, type the following and press ENTER

      copy <drive>:\foxerror.hlp <destination>

   where <drive> is the floppy disk drive containing the FW0983 disk

   and <destination> is the drive and directory that contains your

   FoxPro files. For example, if your FoxPro files are located in the

   FOXPROW directory on drive C and the FW0983 disk is in drive A,

   type the following command:

      copy a:\foxerror.hlp c:\foxprow

3. In Windows Program Manager, select the group window that contains

   your FoxPro icons.

4. From the Program Manager File menu, choose New, select Program

   Item, and then choose OK.

5. In the Description box, type FoxPro Error Messages.

6. In the Command Line box, type

      winhelp.exe <destination>\foxerror.hlp

   where <destination> is the drive and directory that contains your

   FoxPro files (see step 2).

7. Leave the Working Directory box blank, and then choose OK.

   You should now see a FoxPro Error Messages icon.

8. Double-click the FoxPro Error Messages icon to view the Help file.

--------------------------------------------------------------------

TO OBTAIN THIS APPLICATION NOTE

===============================

 - On CompuServe, GEnie, and Microsoft OnLine, Application Notes

   are located in the Microsoft Software Library. You can find

   FW0983 in the Software Library by searching on the word FW0983,

   the Q number of this article, or S14576. FW0983 is a compressed,

   self-extracting file. After you download FW0983, run it to

   extract the file(s) it contains.

 - Application Notes are available by modem from the Microsoft

   Download Service (MSDL), which you can reach by calling (206)

   936-6735. This service is available 24 hours a day, 7 days a week.

   The highest download speed available is 14,400 bits per second (bps).

   For more information about using the MSDL, call (800) 936-4300 and

   follow the prompts. To obtain FW0983, download FW0983.EXE.

   FW0983.EXE is a compressed, self-extracting file. After you

   download FW0983, run it to extract the file(s) it contains.

 - On the Internet, Application Notes are located on the Microsoft

   anonymous ftp server, which you can reach by typing "ftp

   ftp.microsoft.com" (without the quotation marks) at the ">" command

   prompt.

 - You can have this Application Note mailed or faxed to you from the

   automated Microsoft FastTips Technical Library, which you can call

   24 hours a day, 7 days a week at (800) 936-4300. NOTE: The FastTips

   Technical Library is available only to customers within the U.S. and

   Canada.

 - If you are unable to access the source(s) listed above, you can

   have this Application Note mailed or faxed to you by calling

   Microsoft Product Support Services Monday through Friday, 6:00 A.M.

   to 6:00 P.M. Pacific time at (206) 635-7191. If you are outside the

   United States, contact the Microsoft subsidiary for your area. To

   locate your subsidiary, call Microsoft International Customer

   Service at (206) 936-8661.

Additional reference words: 2.00 2.50 2.50a 2.50b appnote softlib


INF: Functionality of the Select Button During Setup

Article ID: Q111744

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The Select button is used throughout FoxPro for Macintosh to select a

destination or source folder for certain operations. The functionality of

this buttons differs from that of the Select button found in the FoxPro for

Macintosh Setup program.

MORE INFORMATION

================

During installation of FoxPro for Macintosh, the user is prompted to select

a folder in which to install FoxPro. This button makes its selection based

on the folder that is currently open.

The GETDIR() function also presents the user with a dialog box that is

meant to select a folder. The Select button in this dialog box functions

differently from the one in the Setup dialog box. The GETDIR() dialog box

operates in two ways:

 - If a folder is highlighted and Select is clicked, the highlighted folder

   is returned by the GETDIR() function.

   -or-

 - If nothing is highlighted and Select is clicked, the currently open

   folder is returned by the GETDIR() function.

Additional reference words: 2.50b choose pick


ERR: "Position off Screen" in FoxPro for Macintosh Application

Article ID: Q111745

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

Versions 7.0 and 7.1 of the Macintosh system software ship with TrueType

versions of many standard Macintosh fonts. Earlier versions of the system

software (6.0.x) include these fonts in bitmap form. The bitmap and

TrueType versions of the same font have different fontmetrics, which yield

unpredictable results.

For example, if development is done in FoxPro for Macintosh using the

TrueType versions of these fonts and the application is subsequently run on

a system containing bitmap versions of the fonts, object alignment may not

be consistent with what is shown on the development machine, and "Position

off screen" error messages may occur.

RESOLUTION

==========

To prevent anomalous behavior, machines that will be running the

application should have the same type (bitmap or TrueType) of fonts

installed as were used during development.

MORE INFORMATION

================

The current versions of the Macintosh system software contain TrueType

versions of these system fonts:

   Courier

   Geneva

   Helvetica

   Monaco

   New York

   Palatino

   Times

Additional reference words: 2.50b errmsg err msg true type


INF: Contents of the "FoxPro Settings" file

Article ID: Q111746

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

FoxPro for Macintosh uses a file called "FoxPro Settings" (located in the

System Folder:Preferences folder) to set and maintain a number of default

values.

The contents and allowable values for the "FoxPro Settings" file are as

follows:

   [FoxPro]

   NumLock=0 | 1

   ScrollLock=0 | 1

   Zoomed=0 | 1

   Row= [Location of the top-left corner of the main FoxPro

    window in pixels]

   Column= [Location of the top-left corner of the main FoxPro

    window in pixels]

   Height= [Height of the main FoxPro window in pixels]

   Width= [Width of the main FoxPro window in pixels]

   FontName= [Font name]

   FontStyle= [Style value stated as an integer: normal=0, bold=1,

    italic=2, underline=4, outline=8, shadow=16, condensed=32, extend=64]

   FontSize= [Font size, stated in pixels]

   PrtFontName= [Font name]

   PrtFontStyle= [Style value stated as an integer: normal=0, bold=1,

    italic=2, underline=4, outline=8, shadow=16, condensed=32, extend=64]

   PrtFontSize= [Font size state in pixels]

   Main Dictionary= [Dictionary name located in the System

    Folder:Extensions:Microsoft:Spelling folder]

   Custom Dictionary=[Dictionary name located in the System

    Folder:Extensions:Microsoft:Spelling folder]

Additional reference words: 2.50b


ERR: "API Library Not Found" w/ MS-DOS .PLB in FoxPro for Mac

Article ID: Q111807

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

FoxPro for MS-DOS allows the user to place libraries into a project as

INCLUDEd, whereas FoxPro for Macintosh automatically EXCLUDEs libraries

that are added. However, FoxPro for MS-DOS projects will typically build

without error in FoxPro for Macintosh.

MORE INFORMATION

================

If a project containing an INCLUDEd library is brought from MS-DOS to the

Macintosh, the project will build without error if the library filename

includes a .PLB extension. If the default extension was not used, an "API

Library not found" error message will result.

Additional reference words: 2.50b errmsg err msg


INF: COMMAND+<Number> Combinations in FoxPro for Macintosh

Article ID: Q111808

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

COMMAND key+<number> assignments are reserved to mimic function key

operations on the Macintosh.

MORE INFORMATION

================

Many Macintosh computers do not have keyboards containing function keys (F1

-F15). In order to give these machines the same functionality, the

COMMAND+<number> key combination is typically reserved.

This means that in FoxPro for Macintosh, these key assignments, if used as

shortcut keys in menus, will yield a key label and key text of F<#>.

Additional reference words: 2.50b keystroke hot hotkey access key

accelerator


INF: How SROWS() and SCOLS() Behave in FoxPro for Macintosh

Article ID: Q111809

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The SROWS() and SCOLS() functions return different values in FoxPro for

Macintosh depending on the setting of MACDESKTOP.

MORE INFORMATION

================

The Macintosh interface does not require applications to have a controlling

application window the way Windows does. In FoxPro for Windows, SROWS() and

SCOLS() return a value based on the size of the FoxPro application window.

Since this relationship does not exist on the Macintosh, varying results

will occur depending on the setting of MACDESKTOP.

For example, issue the following commands in FoxPro for Macintosh:

   SET MACDESKTOP ON

   ?SROWS()

   ?SCOLS()

   SET MACDESKTOP OFF

   ?SROWS()

   ?SCOLS()

With MACDESKTOP set to ON, the value is based on the overall screen width.

With MACDESKTOP set to OFF, the value is based on the main FoxPro screen.

Additional reference words: 2.50b


PRB: Strikeout STYLE Clause Ignored by FoxPro for Macintosh

Article ID: Q111810

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When the "-" (strikeout) STYLE clause is used on an @ ... SAY command in

FoxPro for Windows, it makes the text appear to have been stricken out.

However, in FoxPro for Macintosh, the "-" STYLE clause has no effect.

CAUSE

=====

The "strikeout" font characteristic does not exist on the Macintosh as it

does in Windows.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

Enter the following code in FoxPro for Macintosh and FoxPro for Windows:

   @ 1,1 SAY "Hello" STYLE "-"

On the Macintosh, the STYLE clause will be ignored and the text will appear

as normal text.

Additional reference words: 2.50b strikeover strikethrough strikethru


PRB: FoxPro for Macintosh Won't Display > 5 Levels of Submenus

Article ID: Q111811

-----------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

If you create a menu with more than five levels of nesting, only the first

five levels are displayed. You do not receive an error message. The menu

will properly indicate another level with an arrow, but the menu cannot be

activated.

CAUSE

=====

In FoxPro for Macintosh, menus are limited to five levels of nesting. This

is a limitation of the Macintosh operating environment.

Although you can hand-code a menu or use the Menu Builder to design a menu

that goes deeper than this, only the first five levels will be displayed.

Additional reference words: 2.50b capacity submenus sub-menus


INF: FoxPro for Macintosh Installer/Setup Memory Requirements

Article ID: Q111812

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The FoxPro for Macintosh Setup program requires that at least 600K of

memory be available in order for it to run.

NOTE: These memory requirements also apply to the Setup program for the

Distribution Kit.

MORE INFORMATION

================

The Get Info dialog box in the Macintosh Finder shows that the Microsoft

FoxPro Setup program has a Suggested, Minimum, and Preferred memory size of

600K.

Additional reference words: 2.50b install installation dk


INF: Character Field Transferred to Microsoft Excel as Numeric

Article ID: Q111872

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

A FoxPro character type field that contains numbers is converted to a

numeric field in Microsoft Excel when the FoxPro dynamic data exchange

(DDE) functions are used.

RESOLUTION

==========

To avoid this situation, do one of the following:

 - Add a single quotation mark to the beginning of the field; for example:

      =DDEPOKE(mchan,"R1C1","'"+fld1)

   NOTE: This method will transfer the FLD1 field as character but will add

   an additional single quotation mark toward the beginning of the field.

   This extra quotation mark can be removed manually or with the help of a

   Microsoft Excel macro.

   -or-

 - Add '="' to the beginning of the field and '"' to the end; for example:

      =DDEPOKE(CHAN,"R1C1",'="'+fld1+'"')

   With this method, Microsoft Excel will treat the contents of FLD1 as an

   expression.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Open Microsoft Excel with Sheet1 as the active worksheet.

2. Open FoxPro for Windows and issue the following commands from the

   Command window:

      CREATE TABLE xddetst.dbf (fld1 C(8))

      APPEND BLANK

      REPLACE fld1 WITH "12345678"

      mchan = DDEINITIATE("EXCEL","SHEET1")

      =DDEPOKE(mchan,"R1C1",fld1)

   With the above DDEPOKE() command FoxPro will send the FLD1 field

   contents to cell A1 in Sheet1 of Microsoft Excel.

3. Press ALT+TAB to switch to Microsoft Excel. Here you will see that the

   contents of FLD1 were transferred to cell A1 in Sheet1 as a numeric

   field.

In Microsoft Excel, to enter a number, string, or formula as text, you have

to prefix the data with a single quotation mark. If you select cell A1, you

will see that the Formula Bar does not display a single quotation mark

before the cell's contents.

Additional reference words: 2.50 2.50a 2.50b number format


INF: GETFILE() and PUTFILE() Return Values in Uppercase

Article ID: Q111873

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The GETFILE() and PUTFILE() functions in FoxPro for Macintosh return

strings in uppercase.

MORE INFORMATION

================

On the Macintosh, filenames can be created in lowercase and uppercase. You

can also use mixed case for filenames when you are working interactively

with all the FoxPro power tools. However, under program control, the

PUTFILE() function is used to allow a filename to be entered. Even if a

mixed case filename is entered, the PUTFILE() function returns the string

in all uppercase.

Likewise, the GETFILE() function returns the path and filename in uppercase

regardless of the filename's actual case.

Additional reference words: 2.50b Upper lower case


INF: BROWSE Speed in FoxPro for Macintosh and FoxBASE+/Mac

Article ID: Q111874

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

When doing comparable BROWSE functions, FoxBASE+ for the Macintosh will be

faster than FoxPro for Macintosh.

Due to the increased graphical nature and added functionality of the Browse

window and the BROWSE command, performance is slower in FoxPro for

Macintosh than in FoxBASE+/Mac. This difference is primarily apparent

during screen refreshes and scrolling in the Browse window.

Additional reference words: 2.50b


INF: Parts of FoxPro for Macintosh That Require FOXTOOLS.MLB

Article ID: Q111875

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

The following FoxPro for Macintosh add-on components require access to

FOXTOOLS.MLB:

   FB+MIGRATE.APP

   FOXDOC.APP

   WIZARD.APP, WZ_FORM.APP, WZ_REPORT.APP

   Distribution Kit SetupWizard

   Spelling checker

Since FOXTOOLS.MLB is used by all these applications, it is automatically

installed in the System Folder:Extensions folder during FoxPro's

installation.

If FOXTOOLS.MLB becomes unavailable, errors will result when the components

listed above are used.

Additional reference words: 2.50b foxbase+/mac migration setup wizard

spellchecker


INF: Creating Comma-Delimited File That Retains Trailing Space

Article ID: Q111913

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SUMMARY

=======

When you are copying a FoxPro database to a comma-delimited file using the

COPY TO <filename> TYPE DELIMITED command, the trailing blanks of each

field are removed. Occasionally, the entire file, including any trailing

blanks found in a field, needs to be copied to an ASCII file, but no

options exist for the COPY TO command to accomplish this. However, you can

use low-level file functions to transport the entire contents of every

field from a database into a comma-delimited ASCII file.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

The following code uses low-level file functions to read the CLIENTS.DBF

sample database file and place the characters and trailing blanks of each

field in a comma-delimited ASCII file named TEST.TXT:

   USE C:\Foxprow\Sample\Organize\dbfs\clients.dbf

   HFILE=FCREATE('c:\Test.txt')

   GO TOP

   SCAN

   =FPUTS(HFILE,Client_id+","+Company+","+Contact+","+Address+;

   ","+City+","+State+","+Zip+","+Areacode+","+Phone+","+Extension;

   +","+STR(startbal,8,2)+","+DTOC(Baldate)+Cuisine+","+STR(Type)+",";

   +Notes)

   ENDSCAN

   =FCLOSE(HFILE)

NOTE: By default, the FPUTS() function expects character type data in the

fields. Therefore, in order to use numeric and date fields, add the STR()

and DTOC() functions to convert the respective fields to character type

data. Adding additional parameters to the STR() function preserves the

decimal places in the numeric fields.

REFERENCES

==========

"Language Reference," version 2.5, pages L3-528 to L3-530, L3-496, L3-498

to L3-499

Additional reference words: 2.00 2.50 2.50a 2.50b spaces padding


INF: How to Use Custom Colors in Screen or Report Rectangles

Article ID: Q111914

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The Fill Color and Pen Color options on the Object menu offer you a

selection of 16 predefined colors for rectangles and rounded rectangles.

Occasionally, you may need to use a color that is not on this predefined

list. For example, the lightest shade of gray offered may print out too

dark when used to fill a rectangle on a Hewlett-Packard (HP) LaserJet

printer. In this case, you can use custom colors to fill or outline a

rectangle or rounded rectangle/ellipse object.

MORE INFORMATION

================

When a screen or report is created, each object is stored as a single

record in a database. You can edit this database to insert color values not

available through the menu options.

To modify a screen rectangle

----------------------------

1. In the Command window, issue the following command:

      CREATE SCREEN color

2. Add a rectangle with square corners to the screen. From the Object menu,

   choose Fill, and select the solid fill pattern. From the Object menu,

   choose Fill Color, and select any color other than white.

3. Double-click the rectangle and add the words "Square Rectangle" in the

   comment. Choose OK.

4. Add a rounded rectangle to the screen. From the Object menu, choose

   Fill, and select the solid fill pattern. From the Object menu, choose

   Fill Color, and select any color other than white.

5. Double-click the rectangle and add the words "Rounded Rectangle" in the

   comment. Choose OK.

6. Close the screen. In the Command window, type the following

   commands:

      USE color.scx

      BROWSE

   Note that there are two records with a value of 7 in the OBJTYPE field.

   These two records contain the information for the rectangle objects

   added earlier. The COMMENT field contains the comment added to assist in

   identifying a particular rectangle.

   The following fields contain information concerning the color of the

   object. There are two sets of fields, one for the pen color of the

   outline, and one for the fill color. Each field contains a single value

   for the red, green, or blue component of an RGB value.

      Field      Controls

      -----------------------------------------------------

      PENRED     Red component of outline color RGB value

      PENGREEN   Green component of outline color RGB value

      PENBLUE    Blue component of outline color RGB value

      FILLRED    Red component of fill color RGB value

      FILLGREEN  Green component of fill color RGB value

      FILLBLUE   Blue component of fill color RGB value

7. Modify the FILLRED, FILLGREEN, and FILLBLUE values slightly, making sure

   that each remains in the range of 0 through 255.

8. In the Command window, close the .SCX file as a database and reopen it

   as a screen by typing the following commands:

      USE

      MODIFY SCREEN color

Note that the rectangle color has changed to a custom value.

To modify a report rectangle

----------------------------

1. In the Command window, issue the following command:

      CREATE REPORT color

2. Add a rectangle with square corners to the report. From the Object menu,

   choose Fill, and select the solid fill pattern. From the Object menu,

   choose Fill Color, and select any color other than white.

3. Double-click the rectangle and add the words "Square Rectangle" in the

   comment. Choose OK.

4. Add a rounded rectangle to the report. From the Object menu, choose

   Fill, and select the solid fill pattern. From the Object menu, choose

   Fill Color, and select any color other than white.

5. Double-click the rectangle and add the words "Rounded Rectangle" in the

   comment. Choose OK.

6. Close the report. In the Command window, issue the following commands:

      USE color.frx

      BROWSE

   Note that there are two records with a value of 7 in the OBJTYPE

   field. These two records contain the information for the rectangle

   objects added earlier. The COMMENT field contains the comment added

   to assist in identifying a particular rectangle.

   The following fields contain information concerning the color of

   the object. There are two sets of fields, one for the pen color of

   the outline, and one for the fill color. Each field contains a

   single value for the red, green, or blue component of an RGB value.

      Field      Controls

      -----------------------------------------------------

      PENRED     Red component of outline color RGB value

      PENGREEN   Green component of outline color RGB value

      PENBLUE    Blue component of outline color RGB value

      FILLRED    Red component of fill color RGB value

      FILLGREEN  Green component of fill color RGB value

      FILLBLUE   Blue component of fill color RGB value

7. Modify the FILLRED, FILLGREEN, and FILLBLUE values slightly, making sure

   that each remains in the range of 0 through 255.

8. In the Command window, close the .FRX file as a database and reopen it

   as a report by typing the following commands:

      USE

      MODIFY REPORT color

Note that the rectangle color has changed to a custom value.

REFERENCES

==========

For more information about .SCX and .FRX table structures, refer to the

FoxPro for Windows or FoxPro for Macintosh "Developer's Guide" appendixes.

Additional reference words: 2.50 2.50a 2.50b


INF: Windows Programming Limitations in FoxPro Interface

Article ID: Q111915

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

A number of items in the FoxPro for Windows interface cannot or should not

be controlled programmatically. These items are part of the Windows

standard interface. Some of these items can be controlled through use of

the Windows Control Panel or by modifying .INI file settings.

NOTE: Changes made through the Control Panel or .INI settings will affect

all Windows-based applications and therefore should be made carefully.

MORE INFORMATION

================

Colors

------

The following objects cannot be controlled through FoxPro color commands,

and must be changed through the Color application in the Windows Control

Panel.

                                      Control Panel, Color

   FoxPro item                        screen element item

   ------------------------------------------------------

   System menu bar                    Menu Bar

   System menu text                   Menu Text

   Disabled menu option               Disabled Text

   Enabled menu option                Menu Text

   ------------------------------------------------------

   Scroll bar                         Scroll Bar

   Status bar                         Active Title Bar

   ------------------------------------------------------

   Wait Window background             Active Title Bar

   Wait Window frame                  Window Frame

   ------------------------------------------------------

   Push button background             Button Face

   Push button text                   Button Text

   Push button highlight              Button Highlight

   Push button shadow                 Button Shadow

   ------------------------------------------------------

   Window title bar                   Active Title Bar

   Window frame                       Window Frame

   Window border                      Active Window Border

Location of Items

-----------------

The location of the following items is defined by the Windows interface

standards and cannot be changed:

   FoxPro system menu

   Window style status bar

Therefore, the following command is not supported due to these interface

standards:

   SET STATUS WINDOW

Fonts

-----

The font used by the FoxPro system menu bar is controlled by a setting in

the [Windows] section of the WIN.INI file. For more information about how

to change this font, please see the following article in the Microsoft

Knowledge Base:

   ARTICLE-ID: Q97160

   TITLE     : How to Change Font of FoxPro for Windows Menu Bar

Items That Cannot Be Added

--------------------------

The SCROLL clause of the DEFINE POPUP command does not allow a scroll bar

to be added to a menu popup.

Items That Cannot Be Eliminated

-------------------------------

The following items are part of the Windows standard interface and cannot

be suppressed programmatically:

 - The "Printing page X..." dialog box that appears while you are printing

   a report

 - The close box on a window

REFERENCES

==========

For additional general information about colors, see article Q94345, "How

to Change Colors of Objects in FoxPro for Windows." For an alternative

method of changing push button colors, see article Q106072, "How to Change

Color of Push Buttons in FoxPro for Windows."

For additional information about Windows interface standards, see the

"Interface Design Guide" Help file installed with the FoxPro Distribution

Kit for Windows, or see the Microsoft Windows Software Development Kit

(SDK) documentation.

Additional reference words: 2.50 2.50a 2.50b


INF: How to Enable One Check Box While Disabling the Others

Article ID: Q111918

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

It is often desirable to enable one check box while disabling the others on

a screen. By enabling only one check box and disabling the others, the

color of the disabled ones will change and become dimmed. This will

emphasize that only one of these check boxes can be selected at any given

time.

See the procedure below for a demonstration of how to accomplish this.

MORE INFORMATION

================

Below are the steps to create the check boxes:

1. Open the Screen Builder and select the Check Box tool. (In FoxPro for MS-

   DOS, choose Check Box from the Screen menu.)

2. Create three check boxes on the screen with the first one having the

   variable check1, the second one having the variable check2, and the

   third one having the variable check3.

3. In the VALID clause of the first check box, type in this code:

      IF check1=1

         SHOW GET check2 DISABLED

         SHOW GET check3 DISABLED

      ELSE

         SHOW GET check2 ENABLED

         SHOW GET check3 ENABLED

      ENDIF

4. In the VALID clause of the second check box, type in this code:

      IF check2=1

         SHOW GET check1 DISABLED

         SHOW GET check3 DISABLED

      ELSE

         SHOW GET check1 ENABLED

         SHOW GET check3 ENABLED

      ENDIF

5. In the VALID clause of the third check box, type in this code:

      IF check3=1

         SHOW GET check1 DISABLED

         SHOW GET check2 DISABLED

      ELSE

         SHOW GET check1 ENABLED

         SHOW GET check2 ENABLED

      ENDIF

After generating the screen and running it, click one of the check boxes.

When one box is selected, the others will be disabled. To enable all the

check boxes, click the box that is selected (the one that has an "X" in

it). This will clear the box and make all the check boxes enabled until

another check box is selected.

The variables check1, check2, and check3 will always have a value of 0 or

1. Therefore, when the variable is evaluated, this is how the IF statement

is used enable or disable the check boxes.

Additional reference words: 2.00 2.50 2.50a 2.50b checkbox


PRB: Valid Routine Results in "Record Not Locked" Error

Article ID: Q111919

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, versions 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

A VALID clause on a GET field or BROWSE field accidentally releases an

automatic record lock, causing a "Record Not Locked" error message when the

valid routine returns .F. The error will not occur if the valid routine

returns .T.

CAUSE

=====

The following sequence of events will cause the automatic record lock

to be released:

1. The record lock is placed automatically through a command, such as READ

   or BROWSE.

2. During the VALID routine, the record pointer is moved to a new record.

3. Another command, such as REPLACE, that places an automatic record lock

   is executed on the new record position. Since only one automatic record

   lock can be effective at a time, the original lock is released when the

   new lock is placed.

4. The VALID routine returns a .F. value. Control returns to the original

   GET field or BROWSE field, causing the record pointer to be moved back

   to the original record. The automatic record lock has been released,

   which causes the error to occur when editing control is returned to the

   field.

RESOLUTION

==========

There are two possible resolutions:

 - When the record pointer is moved to a new record, lock the record by

   using the RLOCK() function. Make sure that the SET MULTILOCKS ON command

   is in effect. While this will prevent the problem, the lock must be

   released programmatically when the pointer is moved to a new record.

   This constant locking and unlocking can slow down system performance.

   -or-

 - After the second automatic record locking command is issued in the VALID

   clause, move the record pointer back to the original record and issue an

   RLOCK() function. For example, in the LOSELOCK program used to reproduce

   the problem (see "More Information" below), the changes will appear as

   follows:

      m.cno = cno

      m.recno = RECNO()

      SEEK m.cno

      IF FOUND()

         WAIT WINDOW "Record exists"

         REPLACE cno WITH m.cno

      *************************************************************

      * The following 2 lines eliminate the error

      *************************************************************

         GO m.recno

         =RLOCK()

      *************************************************************

         RETURN .F.

      ENDIF

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Create a TEST database by issuing the following commands in the

   Command window:

      USE tutorial/customer

      COPY TO test NEXT 10

      USE test

      INDEX ON cno TAG cno

      SET ORDER TO TAG cno

2. Create a program file named LOSELOCK with the following commands:

      m.cno = cno

      m.recno = RECNO()

      SEEK m.cno

      IF FOUND()

         WAIT WINDOW "Record exists"

         REPLACE cno WITH m.cno

         RETURN .F.

      ENDIF

3. In the Command window, issue the following command:

      BROWSE FIELDS cno :V=loselock(), company, contact

4. Use the DOWN ARROW key to move to the third record.

5. In the CNO field, type the same customer number that appears in the

   first record. A "record not locked" error should occur.

Additional reference words: 2.50 2.50a 2.50b errmsg err msg


INF: Valid Routine to Convert Character Data to Lowercase

Article ID: Q111920

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

By using the generic code snippet shown below, you can change input data to

all lowercase.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

By using the following generic code snippet, you can change input data to

all lowercase. It is very simple to change memory variables, but changing

database fields takes more code manipulation. In this example, there is

only one database open and any number of variables with different names

other than the database's field names. The Screen Generator is also used

for this example.

In the SETUP snippet of the screen, type the following code:

   *** Puts all of the database fields into an array called mydata

   =AFIELDS(mydata)

In the VALID snippet of any character field, type the following generic

code:

   *** List of Variables and Definitions                 ***

   *** curfield - the current field or memory variable   ***

   *** newval - The new value converted to lowercase     ***

   *** BEGIN CODE HERE                                   ***

   curfield=VARREAD()

   newval=LOWER(EVALUATE(curfield))

   ** IF...ENDIF to determine if it's a field name or memory variable

   IF ASCAN(mydata,curfield)>0

      REPLACE &curfield WITH newval && database field

   ELSE

      STORE newval TO &curfield  && memory variable

   ENDIF

   SHOW GET &curfield  && refreshes only the current GET

   *** END CODE ***

Additional reference words: 2.50 Character Convert Lower-case lower case

upper capital letters caps


INF: How to Import ASCII Files with Nonstandard Delimiters

Article ID: Q111922

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

When you are importing an ASCII text file that has delimiters other than a

comma or a tab, specify the delimiter in the APPEND FROM command.

MORE INFORMATION

================

Example

-------

1. Create an ASCII text file by typing the following command in the Command

   window:

      MODIFY COMMAND test.txt

2. In the TEST.TXT window, type in the following:

      |4444|,|44444|,|12/01/93|,|444.44|,|444|

      |5555|,|55555|,|12/02/93|,|555.55|,|555|

      |6666||666666||12/03/93||666.66||666|

      |7777||777777||12/04/93||777.77||777|

      8888,|44444|,19931217,444.44,|444|

      9999,|55555|,19931215,555.55,|555|

      4545,45454,|12/01/93|,444.45,454

      5656,56565,19931202,565.65,565

   Notes

   -----

    - To create the pipe character ("|"), press SHIFT+BACKSLASH (\).

    - In this example, the pipe character is used as a field delimiter and

      the comma is used as a field separator. Using DELIMITED WITH TAB

      yields tab field delimiters and DELIMITED WITH BLANK yields space

      field delimiters. The field delimiter characters are used only to

      surround the field data, and the field separator characters will

      remain commas.

3. Save the file.

4. From the File menu, choose Open. Under List Files Of Type, select

   Table/DBF, and then select INVOICES.DBF from the TUTORIAL subdirectory.

5. In the Command window, type the following:

      APPEND FROM TEST.TXT TYPE DELIMITED WITH |

   Eight records should be added to the database.

Additional reference words: 2.00 2.50 2.50a 2.50b import


PRB: System Errors When Using SET LIBRARY TO in FoxPro for Mac

Article ID: Q111951

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

Installing FoxPro for Macintosh on a system that has had Apple's Internet

Router version 3.0 installed or installing Apple's Internet Router version

3.0 after installing FoxPro for Macintosh can cause system errors when you

use the SET LIBRARY TO command.

CAUSE

=====

The following two situations can cause the system errors to occur:

 - If the router is installed on the machine prior to installing FoxPro,

   the Shared Library Manager extension installed and used by the router

   may not be replaced with the newer version shipped with FoxPro.

 - If the router is installed after FoxPro, an alert box is presented,

   indicating that a newer version of the Shared Library Manager is already

   installed. The alert box provides two options: click Continue to

   replace, or Cancel to leave the installation untouched. If you click

   Continue, the newer version of the Shared Library Manager is replaced

   with the older one.

In both of these cases, various system errors will occur when a SET LIBRARY

TO command is issued.

RESOLUTION

==========

To solve this problem, do the following:

1. Insert the Apple Shared Library Manager installation disk (the disk icon

   says "ASLM Installer") in the floppy disk drive.

2. Click the Shared Library Manager Files folder, and then drag the Shared

   Library Manager extension file to the System Folder on your startup

   volume.

MORE INFORMATION

================

The Shared Library Manager versions are as follows:

   Shipping with Internet Router v3.0         1.0    12/7/92   108K

   Shipping with FoxPro for Macintosh v2.5b   1.1.1  11/15/93  152K

Additional reference words: 2.50b


PRB: FoxPro for Mac Does Not Rotate with Radius Pivot Monitor

Article ID: Q111987

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

If you change the orientation of a Radius Pivot monitor while in FoxPro for

Macintosh, the screen does not properly orient itself. This includes the

status bar at the bottom of the screen, which does not take into account

the added or decreased vertical height for the monitor.

RESOLUTION

==========

Set the orientation of the monitor before loading FoxPro.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro for Macintosh

version 2.5b. We are researching this problem and will post new information

here in the Microsoft Knowledge Base as it becomes available.

REFERENCES

==========

This information is also contained in the "FoxPro Readme" file located in

the FoxPro for Macintosh folder or the Disk 1 - Setup disk.

Additional reference words: 2.50b display video flip


ERR: "Unimplemented Trap Error" on Accelerated Macintoshes

Article ID: Q111988

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

   WARNING: The information in this article has not been confirmed

   or tested by Microsoft. Some or all of the information in this

   article has been taken from unconfirmed customer reports. ANY USE

   BY YOU OF THE INFORMATION PROVIDED IN THIS ARTICLE IS AT YOUR OWN

   RISK. Microsoft provides this information "as is" without warranty

   of any kind, either express or implied, including but not limited

   to the implied warranties of merchantability and/or fitness for a

   particular purpose.

SYMPTOMS

========

It been reported that some Macintosh accelerator cards will cause FoxPro

for Macintosh to give a "Unimplemented trap error" message when starting,

and then abnormally terminate the program.

STATUS

======

Microsoft is researching this problem and will post new information here in

the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

This has been reported on an accelerated Macintosh SE/30 with a Mobius

accelerator card and a Daystar-accelerated Macintosh IIfx.

FoxPro for Macintosh will fail to run if this error is encountered.

The Apple, Mobius, and Daystar products included here are manufactured by

vendors independent of Microsoft; we make no warranty, implied or

otherwise, regarding these products' performance or reliability.

Additional reference words: 2.50b bomb crash hang errmsg err msg


ERR: "Type 1 System Error" When COMMAND+O Used to Open File

Article ID: Q111989

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

   WARNING: The information in this article has not been confirmed

   or tested by Microsoft. Some or all of the information in this

   article has been taken from unconfirmed customer reports. ANY

   USE BY YOU OF THE INFORMATION PROVIDED IN THIS ARTICLE IS AT YOUR

   OWN RISK. Microsoft provides this information "as is" without

   warranty of any kind, either express or implied, including but not

   limited to the implied warranties of merchantability and/or

   fitness for a particular purpose.

SYMPTOMS

========

Aladdin Software's Shortcut extension has been reported to cause FoxPro to

crash with a "Type 1 System Error" message after you press COMMAND+O to

open a file.

RESOLUTION

==========

To avoid this problem, you can remove this extension by dragging it out of

the System Folder:Extensions subfolder.

MORE INFORMATION

================

Shortcut is manufactured by Aladdin Software, a vendor independent of

Microsoft; we make no warranty, implied or otherwise, regarding this

product's performance or reliability.

Additional reference words: 2.50b crash hang bomb aladin alladin errmsg err

msg


ERR: "Compiled Code for This Line Too Long" Error Message

Article ID: Q111991

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, versions 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

While the FoxPro command-line length limit is 2048 bytes, a line of

compiled code cannot exceed 1024 bytes. This means you can write a line of

code containing fewer than 2048 characters that will generate the error

message "Compiled code for this line too long" (1252).

CAUSE

=====

The relationship between the character representation of a command and its

compiled or "tokenized" length is unpredictable.

Variable names and object references of different lengths may compile to

the same number of bytes. For example, a reference to the memory variable

"A" compiles to 3 bytes. However, a reference to the variable "ABCDEFGH"

also compiles to 3 bytes. Similarly, a reference to the number "1" and a

reference to the number "200" will each compile to 3 bytes. For this

reason, shortening alias names has no effect on the length of the tokenized

line.

In addition, white space and literal strings (character strings placed

within quotation marks) are not tokenized. Therefore, eliminating spaces

and indentation in the command line also will not affect the tokenized line

length.

WORKAROUNDS

===========

To work around this behavior, do one of the following:

 - Use an ON ERROR routine that traps errors 18 (Line too long), 1252

   (Compiled code for this line too long), and 1812 (SQL statement too

   long).

   -or-

 - Replace literal strings with variable references. This would also work

   for date literals (for example, {12/30/93}) and many numeric literals

   (for example, 4.5).

   For example, in the following SQL SELECT command

      SELECT * FROM customer ;

           WHERE company = "Allied Products" or company = "Microsoft Corp."

   the quoted text strings, "Allied Products" and "Microsoft Corp.", cannot

   be tokenized any further.

   To work around this, create a set of variables such as

      m.company1="Allied Products"

      m.company2="Microsoft Corp."

   and change your SELECT command line to the following:

      SELECT * FROM customer;

           WHERE company=m.company1 or company=m.company2

   In many cases, this command will tokenize smaller than the original

   command.

   NOTE: This solution does not work for small integers (less than 256)

   because the size of a tokenized 1-byte integer is the same as the size

   of a tokenized variable reference.

REFERENCES

==========

FoxPro online Help file, "Error Messages" topic

FoxPro for MS-DOS "Developer's Guide," Appendix A

FoxPro for Windows "Developer's Guide," Appendix B

FoxPro for Macintosh "Developer's Guide," Appendix B

Additional reference words: 2.00 2.50 2.50a 2.50b err msg errmsg browse

create table insert rqbe limitation capacities capacity


INF: How to Use the Report Writer to Preview or Print Graphics

Article ID: Q111998

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Graphics created in the Relational Query By Example (RQBE) tool using

Microsoft Graph can be used within FoxPro applications. The graphic images

can be previewed or printed in the Report Writer.

MORE INFORMATION

================

To include the graphic image in the Report Writer, do the following:

1. Save the graph created in either Microsoft Graph or RQBE. The file

   containing the graphic image is called QRYGRAPH.DBF by default in

   RQBE.

2. Use the QRYGRAPH file generated previously in RQBE or Microsoft

   Graph.

3. Create a report and select the Picture tool from the toolbox.

4. Position the cursor where you want the image to be displayed on the

   report form.

5. From the Report Picture dialog box, select the Picture From Field

   option.

6. Select the general field called OLEGRAPH from the file named

   QRYGRAPH.DBF.

7. Under "If Picture and Frame Different Size," select "Scale Picture --

   Retain Shape," and then choose OK.

8. Size the image by dragging the corner of the object to the desired

   height, width, and size.

9. Save the report form.

REFERENCES

==========

"Developer's Guide," version 2.5, page D13-9

Additional reference words: 2.50 2.50a OLE Graph RQBE


INF: How to Perform DDE with DDEDATA.APP

Article ID: Q112047

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

FoxPro for Windows can be both a dynamic data exchange (DDE) server and a

DDE client. FoxPro for Windows ships with DDEDATA.PJX and all the source

code. Using this application, and two instances of FoxPro for Windows, one

as the client and one as the server, it is easy to demonstrate the value of

DDE, as shown below.

MORE INFORMATION

================

NOTE: This article assumes that your machine has sufficient memory to run

two instances of FoxPro for Windows.

1. Start FoxPro for Windows and open DDEDATA.PJX from the

   FOXPROW\SAMPLE\DDE subdirectory.

2. Build the application.

3. Run DDEDATA.APP. This application sets up this instance of FoxPro for

   Windows as a DDE Server.

4. Start another instance of FoxPro for Windows.

5. In order to establish the DDE link, type the following in the instance

   of FoxPro for Windows that was just started:

      m.chan = ddeinitiate("DDEData","c:\foxprow\tutorial\;TABLE customer")

   NOTE: If necessary, "c:\foxprow\tutorial\" should be changed to reflect

   the directory where the CUSTOMER.DBF file is located. Technically,

   "DDEData" is the service name, and "c:\foxprow\tutorial\;TABLE customer"

   is the topic.

   The variable m.chan will contain a value representing the DDE channel.

   All subsequent DDE commands will refer to this channel.

6. To request some information from the server, type:

      m.names=dderequest(m.chan,"FIELDNAMES")

   The variable m.names will contain a list of field names from the

   CUSTOMER table separated by tabs. DDEDATA.APP is set up to recognize the

   item "FIELDNAMES".

    Other items it can recognize include "ALL", "DATA", "NEXTROW",

   "PREVROW", "FIRSTROW", "LASTROW", and "FIELDCOUNT".

7. To get the next record's data, type:

      m.data=dderequest(m.chan,"NEXTROW")

   The variable m.data will contain one record's fields separated by tabs.

8. To change the current record, type:

     m.confirm = ddepoke(m.chan,"Contact","Jane Doe")

   The variable m.confirm will contain a .T. if the action took place or a

   .F. if it failed. In this case, DDEDATA.APP would replace the CONTACT

   field with "Jane Doe" on the current record.

9. To end the conversation, type:

      m.confirm = ddeterminate(m.chan)

The variable m.confirm contains a .T. if the DDE link was terminated

successfully.

Additional features can be added to DDEDATA.APP. In order to do this, you

must modify DDEDATA.PRG and then rebuild the application. This application

simply institutes a large DO CASE statement in order to respond to

different DDE messages. For example, even though DDEDATA.APP enables the

DDEExecute service, it doesn't do anything with it. However, if you added

   Case sAction = "EXECUTE"

        &sData

as part of the DO CASE statement in the cbDataTopic, then when you typed

   m.confirm = ddeexecute(m.chan,"wait window 'Hello'")

the instance of FoxPro running DDEDATA.APP would display a wait window with

the text "Hello".

NOTE: The variable m.confirm again reveals if the command succeeded or

failed. The "&sData" line is simply using macro substitution. The contents

of sData are interpreted by FoxPro as if they had been typed in the Command

window.

DDEDATA.APP can be modified to accept and respond to many more requests. It

is simply a matter of changing the DO CASE statement to accommodate these

new items.

REFERENCES

==========

"Developer's Guide," version 2.5, Chapter 12

"Language Reference," version 2.5, pages L3-371, L3-363, L3-366,L3-369,

L3-382

Additional reference words: 2.50 2.50a 2.50b DDEData


PRB: PROCOLOR.APP Does Not Work with FoxPro 2.5 Color Sets

Article ID: Q112048

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0 and 2.5

--------------------------------------------------------------------

SYMPTOMS

========

When you are using PROCOLOR.APP in FoxPro 2.5 for MS-DOS, you receive error

messages referring to FoxPro 2.0 for MS-DOS color sets.

CAUSES

======

There are two possible reasons for these error messages; one or both of

these reasons may be causing the problem.

 - You have not updated your FoxPro 2.0 color sets to 2.5.

 - PROCOLOR.APP was written by a third-party vendor. Version-specific

   information related to color sets is hard-coded into PROCOLOR.APP. At

   the release of FoxPro 2.5 for MS-DOS, this version-specific information

   had not been updated.

RESOLUTION

==========

The hard-coded version-specific color set information in PROCOLOR.APP was

updated in the version shipped with FoxPro 2.5a for MS-DOS.

Workaround

----------

If you are using FoxPro 2.5 for MS-DOS, source code for PROCOLOR.APP is

shipped with FoxPro for MS-DOS. You can use PROCOLOR with your 2.5 color

sets if you make the following modifications to PROCOLOR and to your color

sets in the resource file.

1. Update your FoxPro 2.0 for MS-DOS color sets to 2.5 by using the

   FIXUSER.APP utility. Assuming you have FoxPro installed in the

   C:\FOXPRO25 directory, you will find FIXUSER.APP in the

   C:\FOXPRO25\GOODIES\MISC directory.

   To run FIXUSER.APP, issue the following commands in the Command window:

      SET DEFAULT TO \FOXPRO25\GOODIES\MISC

      DO fixuser

   Follow the instructions in the dialog window.

   IMPORTANT: Be sure to select an existing FoxPro 2.0 resource file, not a

   FoxPro 2.5 resource file. The default resource file name is FOXUSER.DBF.

2. In the Command window, type:

      SET DEFAULT TO \FOXPRO25\GOODIES\PROCOLOR

      MODIFY PROJECT procolor

3. After the Project Manager window appears, select PROCOLOR.PRG from the

   list and choose the Edit button.

4. From the Edit menu, choose Find, and locate the following command line:

      LOCATE FOR ALLTRIM(type) == "PREF2.0"

   This command line is located in the SETEXIST() function. Replace "2.0"

   with "2.5". Save the changes by pressing CTRL+W. This will close the

   edit window and return you to the Project Manager window.

5. Select the CSET screen and choose the Edit button. This will activate

   the Screen Builder.

6. From the Screen menu, choose Screen Layout, and then select the Setup

   check box.

7. Find both occurrences of the string "2.0" and replace them with "2.5".

   Save the screen by pressing CTRL+W. This will close the Screen Builder

   and return you to the Project Manager window.

8. Choose the Build button. Select Build Application and choose OK to

   rebuild PROCOLOR.APP.

9. Move the updated version of PROCOLOR.APP into the main FoxPro directory,

   overwriting the existing file.

MORE INFORMATION

================

PROCOLOR is manufactured by a vendor independent of Microsoft; we make no

warranty, implied or otherwise, regarding this product's performance or

reliability.

Additional reference words: 2.00 2.50 colour picker scheme err msg errmsg


INF: Wrong Syntax for ?|?? in FoxPro for Windows Online Help

Article ID: Q112049

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5a and 2.5b

--------------------------------------------------------------------

The command syntax for the ?|?? commands in the Windows-style online Help

file in FoxPro 2.5a and 2.5b for Windows is incorrect. It shows the syntax

for @ ... SAY instead of for ?|??.

The incorrect entry follows:

   ? | ?? Commands

   See Also     Example

   -------------------------------------------------

   Evaluates expressions and outputs the results.

   Syntax

   @ <row, column>

        SAY <file> BITMAP | <general field>

             [STYLE <expC1>]

             [CENTER]

             [ISOMETRIC | STRETCH]

             [SIZE <expN1>, <expN2>]

        or

        @ <row, column>

        SAY <general field>

             VERB <expN3> | <expC2>

             [NOWAIT]

NOTE: The command syntax is correct in the following online Help systems:

 - The .DBF-style online Help for FoxPro 2.5, 2.5a, and 2.5b for Windows.

 - The online Help files for FoxPro 2.0, 2.5, 2.5a, and 2.5b for MS-DOS.

 - The online Help file for FoxPro 2.5b for Macintosh.

Additional reference words: 2.50a 2.50b docerr doc err


PRB: "Invalid Function Argument Value..." Running CKSAMPLE.APP

Article ID: Q112080

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro Connectivity Kit, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

When CKSAMPLE.APP starts, it asks for information about how to connect to

the data source. If an invalid data source is provided, a WAIT WINDOW with

the message "Attempting to connect..." displays, then a system alert window

with the following message appears:

   Invalid function argument value, type, or count.

The button choices in the window are Cancel, Suspend, and Ignore.

CAUSE

=====

When the data connection fails, an error parameter of numeric type is

passed to CKSAMPLE.APP's error-handling routine (in REPOERRO.SCX), which

expects a parameter of character type.

WORKAROUND

==========

Modify the REPOERRO.SCX screen to accept numeric parameters.

Steps to Modify REPOERRO.SCX

----------------------------

 1. In the Command window, type "MODIFY PROJECT CKSAMPLE.PJX" (without the

    quotation marks).

 2. Select the REPOERRO Screen Set from the list in the CKSAMPLE.PJX

    window, and then choose the Edit button.

 3. Choose the Edit button again in the next screen, and then choose OK.

    This opens the Screen Design window.

 4. From the Screen menu, choose Open All Snippets. This opens the

    Setup snippet.

 5. Locate the last line in the Setup snippet, which contains the

    following code:

       errMesg = ALLTRIM(errMesg)

 6. Change the last line to the following, which incorporates an IIF()

    function to handle both character and numeric error parameters:

       errMesg = IIF(TYPE('errMesg')="C",ALLTRIM(errMesg),errMesg)

 7. Close the REPOERRO.SCX Screen Design window.

 8. In the CKSAMPLE.PJX window, choose Build.

 9. In the Select Build Option window, choose the Build Application

    option, and then choose OK.

10. In the Enter Application Filename window, type "CKSAMPLE.APP"

    (without the quotation marks), and then choose Build.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro Connectivity Kit

versions 2.5, 2.5a, and 2.5b for MS-DOS. We are researching this problem

and will post new information here in the Microsoft Knowledge Base as it

becomes available.

Additional reference words: 2.50 2.50a 2.50b errmsg err msg sql server


INF: How to Download Files from the MSL on CompuServe

Article ID: Q112081

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

This article explains how to download files from the Microsoft Software

Library (MSL) on CompuServe.

MORE INFORMATION

================

Obtaining a CompuServe Account

------------------------------

If you do not have a CompuServe account, contact CompuServe Customer

Service at (800) 848-8119.

Connection to CompuServe

------------------------

A modem and telecommunications software are required to connect to

CompuServe. The telecommunications software is necessary to act as an

interface between the computer and CompuServe.

If you have a CompuServe account, but need assistance with logging on, call

(800) 848-8990.

Steps to Download MSL Files

---------------------------

NOTE: The following example uses a search on the keyword "HC505". The file

is then downloaded using the XModem protocol. The search criteria and

download protocol you use will likely be different. The messages seen in

this example will also vary from the messages in your download session

according to the search criteria, the selected files, and the download

protocol you specify.

 1. Log on to CompuServe.

 2. At the Enter Choice! prompt, type the following and then press ENTER:

       GO MSL

 3. The following menu appears:

       Microsoft

       Current selection: 1151 file(s)

       SELECT SEARCH CRITERIA:

        1 Keyword                 [  ]

        2 SNumber                 [  ]

        3 File Name               [  ]

        4 Display Selected Titles

        5 Begin a New Search

       Enter choice !

    To search on a keyword, press 1, and then press ENTER.

 4. The following prompt appears:

      Please Enter Keyword:

    Type "HC505" (without the quotation marks), and then press ENTER.

 5. The following menu appears:

       Microsoft

       Current selection: 1 file(s)

       SELECT SEARCH CRITERIA:

        1 Keyword                 [ HC505 ]

        2 SNumber                 [  ]

        3 File Name               [  ]

        4 Display Selected Titles

        5 Begin a New Search

       Enter choice !

    At the Enter choice ! prompt, press 4 to Display Selected Titles,

    and then press ENTER.

 6. The following appears:

       Microsoft   MSL-1026

       S14344 hc505.exe Latest Version of 3.1 Help Compiler

       Updated version of HCP.EXE (version 3.10.505) that sets the

       internal limit to 64K. File contains HC.EXE, HCP.EXE, and two

       .ERR files. Uploaded: January 27, 1994.

       Enter "DOWN" to download !

    Type "DOWN" (without the quotation marks), and then press ENTER.

 7. The following appears:

       DOWNLOAD Protocol (B, X, X1K, Y) :

    Type "X" (without the quotation marks) for XModem, and then press

    ENTER.

 8. The following is displayed:

       Starting XMODEM send.

       Please initiate XMODEM receive

       and press <CR> when the transfer

       is complete.

 9. Instruct your telecommunications software to begin receiving the file.

10. After the file is received, press ENTER.

11. Type "BYE" (without the quotation marks) and then press ENTER to exit

    from CompuServe.

12. Use your telecommunications software to hang up the modem connection.

Additional reference words: 2.50 2.50a 2.50b cis online on-line

bulletin board service bbs


INF: Backslash Character in Folder Name Will Cause Errors

Article ID: Q112083

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The Macintosh allows folder names to include characters like the backslash

(\). If a backslash is placed in the FoxPro for Macintosh folder name, an

error may result when you are loading FoxPro that prevents the program from

starting.

MORE INFORMATION

================

The "FoxPro Readme" file, the "Installation and Macintosh Features Guide",

and the online Help topic "Cross-Platform Development" contain the

following information:

   Do not use backslashes as embedded characters in folder names. Although

   the Macintosh accepts backslashes as valid characters in a folder name,

   FoxPro uses MS-DOS path delimiters and tries to interpret a folder name

   containing a backslash as two separate folders. For example, if a single

   folder is named FOXPRO\APPS, FoxPro for Macintosh tries to find a folder

   called APPS in a folder called FOXPRO.

If a backslash is included at any level of the hierarchical path (including

the volume name), an "Invalid or missing .EXE file" error will result.

Additional reference words: 2.50b back slash


PRB: SET TALK ON Does Not Work with SET STATUS BAR ON

Article ID: Q112084

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The SET TALK command is ON, but command output does not display on the

desktop.

CAUSE

=====

The SET STATUS BAR command is ON. This displays a Windows-style status bar,

which prevents the display of the command output controlled by the SET TALK

command.

RESOLUTION

==========

Use the character-based status bar, which is displayed by the command

SET STATUS ON.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

In FoxPro for MS-DOS, any time the SET TALK command is ON, command output

is displayed in the active output area (usually the desktop). In FoxPro for

Windows, however, the type of status bar in effect determines whether the

SET TALK output is displayed.

Steps to Reproduce Behavior

--------------------------

1. Type the following in the Command window:

      SET TALK ON

      SET STATUS BAR ON

      x = "test"

   Note that the character string "test" does not display on the  desktop.

2. Type the following in the Command window:

      SET STATUS ON

      x = "test"

Note that the character string "test" now displays on the desktop.

For more information about the two types of status bars used in FoxPro for

Windows and FoxPro for Macintosh, please see the following article in the

Microsoft Knowledge Base:

   ARTICLE-ID: Q93585

   TITLE     : INF: Using the Two Status Bar Styles in FoxPro

Additional reference words: 2.50 2.50a 2.50b


PRB: Natural Order of STATES.DBF Not Completely Alphabetic

Article ID: Q112087

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

When you are viewing the STATES.DBF table in its natural order (no tag

used), the states are listed in the alphabetic order of their full names,

with the exception of New Jersey and Arkansas.

CAUSE

=====

The FULLNAME tag is not in use.

RESOLUTION

==========

After opening STATES.DBF, set the FULLNAME tag in one of the following

ways:

 - Type the following command in the Command window:

      SET ORDER TO TAG fullname

   -or-

 - Set the tag using the menu and dialog boxes:

   1. From the Database menu, choose Setup.

   2. Under Indexes, select States:Fullname.

   3. Choose the Set Order button, then choose OK.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

The STATES.DBF table is provided in all versions of FoxPro. It lists the

abbreviations and full names of all the states in the U.S.

In FoxPro for Windows and Macintosh, STATES.DBF is located in the

<FoxPro_directory>\SAMPLE\ORGANIZE\DBFS subdirectory. In FoxPro for MS-DOS,

it is located in the <FoxPro_directory>\SAMPLE\DBFS subdirectory.

Because all the state records are naturally in alphabetic order except for

New Jersey (second to last) and Arkansas (last), it is easy to overlook

setting the tag.

Additional reference words: 2.50 2.50a 2.50b nj ar database


PRB: Copied QuickTime Movie Appears to Play in Fast Forward

Article ID: Q112183

-----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

-----------------------------------------------------------------------

SYMPTOM

=======

When you are playing a movie stored in a general field, the QuickTime

object linking and embedding (OLE) server application plays the first frame

of the movie and then quits, returning the focus to the general field

window.

CAUSE

=====

When the movie was pasted into the general field, only a single frame of

the movie was copied to the Clipboard before pasting.

RESOLUTION

==========

Before choosing Copy from the Edit menu, make sure you select all the

frames of the movie. You can do this in either of two ways:

 - From the Edit menu, choose Select All.

   -or-

 - With the frame control positioned to the extreme left of the progress

   indicator located at the bottom of the movie window, press the

   SHIFT key and drag the frame control to the extreme right of the

   progress indicator. Release the SHIFT key.

Using either method, all frames in the movie should be selected, indicated

by the black fill of the interior of the progress indicator. Once all the

frames have been copied, return to FoxPro and paste the new contents of the

Clipboard into the general field. The single movie frame will be replaced

with the entire movie.

NOTE: There are two alternatives to the previous method of inserting a

QuickTime movie into a general field. The first alternative is to choose

Insert Object from the Edit menu. This item is available when a general

field window is the active window. For more information about the Insert

Object menu command, see page 57 of the FoxPro for Macintosh "User's

Guide."

The second method is to issue the APPEND GENERAL command in the Command

window. The syntax of this command is as follows:

  APPEND GENERAL <general field>

    FROM <file>

    [LINK] [CLASS <ole class>]

An explanation of this command can be found on page 183 of the FoxPro for

Macintosh "Language Reference." In the case of QuickTime movies, the OLE

class is "QuickTime Movie".

For example, given a QuickTime movie named QTLogo located in the Macintosh

HD:Movies subfolder and a table in the currently selected work area with a

general field named Object, you could use the following command to insert

QTLogo into the Object general field:

  APPEND GENERAL Object ;

    FROM "Macintosh HD:Movies:QTLogo" ;

    CLASS "QuickTime Movie"

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Open a table that contains a general field, or create a new one by

   typing the following command in the Command window:

      CREATE TABLE QTTable (Object G)

2. Switch back to the Finder and open the QuickTime server application,

   "QT Ole Server", which is located in the System Folder:Extensions:

   Microsoft:MS QT OLE subfolder.

3. From the File menu, choose Open, and select a movie. Play the movie to

   be certain that the movie consists of more than a single frame.

4. From the Edit menu, choose Copy.

5. Return to FoxPro, and choose Browse from the Database menu.

6. From the Browse menu, choose Append Record.

7. Double-click the general field. A window titled "QTTable.Object"

   appears.

8. From the Edit menu, choose Paste. The first frame of the movie should

   appear in the general field.

9. Double-click the general field. The QuickTime OLE server application

   will come to the foreground to play the movie contained in the general

   field. Since only a single frame was copied to the Clipboard in step 4,

   the QuickTime OLE server application will appear for only an instant and

   then terminate.

Additional reference words: 2.50b QT QTIME EMBED LINK quick time

fastforward


INF: Printing Screen Snapshots in FoxPro for Macintosh

Article ID: Q112184

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

In FoxBASE+ for the Macintosh, you can print a screen snapshot by choosing

Print from the File menu. However, this functionality is not available in

FoxPro for Macintosh.

CAUSE

=====

The File Print command in FoxPro for Macintosh prints text information in a

single window only. A screen shot contains graphic images of multiple

windows, which cannot be printed through FoxPro for Macintosh. This

behavior is by design to ensure cross-platform compatibility in FoxPro,

which can be run in either a character- or graphics-based operating system.

FoxPro relies on underlying operating system functionality or third-party

add-ins in order to print screen shots.

RESOLUTION

==========

To work around this behavior, you can print a screen snapshot using the

Macintosh screen snapshot feature, as follows:

1. With the desired image on the screen, press COMMAND+SHIFT+3. A TeachText

   PICT file will be created. The first screen snapshot will be named

   Picture 1; the filename will be incremented by 1 for each successive

   picture. The file will be created in the root folder of the current

   default volume (drive).

2. Return to the desktop and double-click the icon for the screen snapshot.

   TeachText will open. From the File menu in TeachText, choose Print to

   print the snapshot.

NOTE: You can also print the snapshot from other applications, such as

Microsoft Word for the Macintosh, that support the PICT file format.

Additional reference words: 2.50b snap screenshot dump picture


PRB: Help Compiler Crashes with Word 6.0 for Windows RTF Files

Article ID: Q112193

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

When you are compiling Windows Help files created from Microsoft Word 6.0

for Windows rich-text format (RTF) files, general protection (GP) faults or

exception errors can occur, or the Help file may be compiled using only the

Windows system font.

RESOLUTION

==========

Use the updated Help compiler, version 3.10.505.

MORE INFORMATION

================

You can obtain version 3.10.505 of the Help compiler from the Microsoft

Software Library or the Microsoft Download Service.

Microsoft Software Library

--------------------------

The updated Help compiler is available as a self-extracting file in the

Microsoft Software Library (MSL) on the following services:

 - CompuServe

   1. Type "go msl" (without the quotation marks) at the "!" prompt.

   2. Search on one of following criteria:

       - Keyword: HC505

       - S Number: S14344

       - Filename: HC505.EXE

For more information about using the MSL on CompuServe, please see the

following article in the Microsoft Knowledge Base:

   ARTICLE-ID:Q112081

   TITLE     :INF: How to Download Files from the MSL on CompuServe

- Internet (anonymous FTP)

   1. Log on by typing "ftp ftp.microsoft.com" (without the quotation

      marks). Give your complete electronic name as your logon password.

   2. Change to the SOFTLIB\MSLFILES directory.

   3. Get HC505.EXE.

Microsoft Download Service

--------------------------

The Help compiler files are also available from the Microsoft Download

Service (MSDL) in the self-extracting file HC505.EXE.

For more information about using the MSDL, please see the following article

in the Microsoft Knowledge Base:

   ARTICLE-ID:Q104331

   TITLE     :INF: How to Download FoxPro Files from the MSDL

Additional reference words: 2.50 2.50a 2.50b gpf winword


PRB: System Resources Not Released While in FoxPro

Article ID: Q112220

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

As you work in FoxPro for Windows, the amount of available system resources

(User, System, and GDI memory) initially decreases. These system resources

do not return to their original levels until after you have exited FoxPro.

CAUSE

=====

FoxPro for Windows stores colors, pen types, font information, and brushes

in memory. This is to make these items available as you are working. These

items are swapped in and out of memory as necessary. Therefore, the memory

decrease you may see during a FoxPro session relates more to caching than

memory loss.

NOTE: Even after exiting FoxPro for Windows, you may notice that GDI

resources are lower than they were before FoxPro was loaded. This is not

necessarily a problem with FoxPro. Some GDI objects may remain in memory

even after a Windows-based application is closed. This means that a portion

of the GDI heap may be lost until you restart Windows itself.

MORE INFORMATION

================

For more information about Windows system resources, please see the

following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q90762

   TITLE     : Information on System Resources in Windows 3.0 & 3.1

Additional reference words: 2.50 2.50a 2.50b


PRB: Mail Merge Wizard Word Returns "File Access Denied" Error

Article ID: Q112244

------------------------------------------------------------------

The information in this article applies to:

 Microsoft FoxPro for Windows, version 2.6

------------------------------------------------------------------

SYMPTOMS

========

When a table is USEd and then sent to a Microsoft Word version 6.0 for

Windows mail merge, Word 6.0 returns a "File access denied" error message.

RESOLUTION

==========

Before using the Mail Merge Wizard, make sure that the Exclusive check box

in the Settings dialog box is not selected. By default, the Exclusive check

box is not selected; therefore, all files are USEd as SHARED.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. From the File menu, choose Catalog Manager.

2. Select the Table tab.

3. From the Tools menu, choose Settings, make sure the Exclusive check box

   is selected, and click OK.

4. Click the Use button and select a table to use.

5. From the Tools menu, choose Mail Merge.

6. Select the default options (Word 6.0, new document, and so on).

7. Complete the remaining settings in the wizard to start the merge.

Additional reference words: 2.60 errmsg err msg


PRB: Reserved Words Invalid Table Names in FoxPro 2.0 SELECT

Article ID: Q112308

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.0

--------------------------------------------------------------------

SYMPTOMS

========

Clauses of the FoxPro SQL SELECT command include several reserved words.

Examples of reserved words are GROUP, UNION, WHERE, and HAVING. If you

create a table using one of these reserved words as the name of the table,

(for example, GROUP, which is a common choice for a table name), an SQL

SELECT statement that includes a table name that is also a reserved word

will produce the following error message:

  Syntax error.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro 2.0 for MS-DOS. This

problem was corrected in FoxPro 2.5 for MS-DOS and FoxPro 2.5 for Windows.

MORE INFORMATION

================

In FoxPro 2.0 for MS-DOS, a reserved word cannot be used in the projection

list of the SQL SELECT command. In FoxPro 2.5, the SQL SELECT command still

checks for reserved words but only to end clauses that do not include other

syntactic cues.

Additional reference words: 2.00 err msg errmsg keyword key word rqbe


INF: SYS(0) Does Not Return 1 in FoxPro 2.5

Article ID: Q112309

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The version 2.5 documentation for SYS(0) is misleading; SYS(0) never

returns 1 in FoxPro version 2.5.

In FoxPro 2.5, if machine information has been specified, SYS(0) will

return the machine information. If no machine information has been

supplied, SYS(0) will always return a character string consisting of 15

spaces, the # sign followed by another space, and then 0 (zero).

MORE INFORMATION

================

The online Help file topic for the SYS(0) function in FoxPro 2.5a and 2.5b

for MS-DOS and FoxPro 2.5a and 2.5b for Windows states:

     SYS(0) returns 1 when using FoxPro in a stand-alone environment.

This statement is confusing because it implies that SYS(0) will return this

value when no network is connected or when no network drivers are loaded.

In fact, the "stand-alone environment" referred to is the single-user

version of FoxPro 1.0x and 2.0 for MS-DOS.

Conversely, page L3-1067 in the version 2.5 "Language Reference" correctly

states:

   SYS(0) returns 1 when using single-user FoxPro for MS-DOS.

However, the "Language Reference" does not state that there is no single-

user version of FoxPro for version 2.5 or later. Therefore, this statement

applies only to FoxPro 1.0x and 2.0 for MS-DOS.

NOTE: FoxPro 1.0x and 2.0 for MS-DOS were sold in both single-user and

multiuser versions. FoxPro 2.5 for MS-DOS and FoxPro 2.5 for Windows are

sold only in a multiuser version.

Additional reference words: 2.50 2.50a 2.50b network lan workstation wkstn

shell machine name user name multi-user pound number docerr


FW1003: FoxPro for Windows Resource Kit

Article ID: Q112311

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

Microsoft has made the FoxPro for Windows Resource Kit available as an

Application Note (#FW1003). The Resource Kit provides tips on the

following topics:

   Troubleshooting                  Language (including code samples)

   Performing a "clean boot"        Printing

   Installation                     Networking

   Configuring FoxPro for Windows   Debugging

   Screen Builder                   Distribution Kit

   Report Writer                    Connectivity Kit

   RQBE/SQL                         Library Construction Kit

You can obtain this Application Note from the following sources:

 - CompuServe, GEnie, and Microsoft OnLine

 - Microsoft Download Service (MSDL)

 - The Internet (Microsoft anonymous ftp server)

 - Microsoft FastTips Technical Library

 - Microsoft Product Support Services

For complete information, see the "To Obtain This Application Note"

section at the end of this article.

THE TEXT OF FW1003

==================

======================================================================

  Microsoft(R) Product Support Services Application Note (Text File)

                         FW1003: RESOURCE KIT

======================================================================

                                                   Revision Date: 4/94

                                                       1 Disk Included

The following information applies to Microsoft FoxPro(R) versions 2.5,

2.5a, and 2.5b for Windows(TM).

-----------------------------------------------------------------------

| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY     |

| ACCOMPANY THIS DOCUMENT (collectively referred to as an Application |

| Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER      |

| EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED      |

| WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR       |

| PURPOSE. The user assumes the entire risk as to the accuracy and    |

| the use of this Application Note. This Application Note may be      |

| copied and distributed subject to the following conditions:  1) All |

| text must be copied without modification and all pages must be      |

| included;  2) If software is included, all files on the disk(s)     |

| must be copied without modification (the MS-DOS(R)  utility         |

| diskcopy is appropriate for this purpose);  3) All components of    |

| this Application Note must be distributed together;  and  4) This   |

| Application Note may not be distributed for profit.                 |

|                                                                     |

| Copyright (C) 1994 Microsoft Corporation.  All Rights Reserved.     |

| Microsoft, FoxPro, and MS-DOS are registered trademarks and Windows |

| is a trademark of Microsoft Corporation.                            |

| CompuServe is a registered trademark of CompuServe, Inc.            |

|---------------------------------------------------------------------|

INTRODUCTION

============

The disk enclosed with this Application Note contains the document

files for the FoxPro 2.5, 2.5a, and 2.5b for Windows Resource Kit. The

Resource Kit is a tool for developers and end users that answers

frequently asked questions about FoxPro for Windows. The Resource Kit

provides tips on the following topics:

   Troubleshooting                  Language (including code samples)

   Performing a "clean boot"        Printing

   Installation                     Networking

   Configuring FoxPro for Windows   Debugging

   Screen Builder                   Distribution Kit

   Report Writer                    Connectivity Kit

   RQBE/SQL                         Library Construction Kit

In addition, the "References" section of the Resource Kit provides a

partial index of the FoxPro articles in the Microsoft Knowledge Base,

which you can access through CompuServe(R) by typing GO MSKB at the

"!" prompt or through the Internet by typing FTP FTP.MICROSOFT.COM at

the ">" command prompt to log on to the Microsoft anonymous ftp

server.

To install the Resource Kit

---------------------------

1. Create a directory called RESKIT on your hard disk.

2. Copy RK.EXE from the enclosed FW1003 disk to the RESKIT directory

   you just created.

4. RK.EXE is a self-extracting archive file. To unzip it, type RK at

   the MS-DOS command prompt.

   You should see the following files:

      CHAPT1.RTF     CHAPT6.RTF     CHAPTA.RTF     CHAPTE.RTF

      CHAPT2.RTF     CHAPT7.RTF     CHAPTB.RTF     CHAPTF.RTF

      CHAPT3.RTF     CHAPT8.RTF     CHAPTC.RTF     CHAPTG.RTF

      CHAPT4.RTF     CHAPT9.RTF     CHAPTD.RTF     COVERPG.RTF

      CHAPT5.RTF

The files are in rich-text format (RTF), which means they can be

opened in Microsoft Word for Windows or in any other word processor

that can interpret RTF.

--------------------------------------------------------------------

TO OBTAIN THIS APPLICATION NOTE

===============================

 - On CompuServe, GEnie, and Microsoft OnLine, Application Notes

   are located in the Microsoft Software Library. You can find

   FW1003 in the Software Library by searching on the word FW1003,

   the Q number of this article, or S14600. FW1003 is a compressed,

   self-extracting file. After you download FW1003, run it to

   extract the file(s) it contains.

 - Application Notes are available by modem from the Microsoft

   Download Service (MSDL), which you can reach by calling (206)

   936-6735. This service is available 24 hours a day, 7 days a week.

   The highest download speed available is 14,400 bits per second (bps).

   For more information about using the MSDL, call (800) 936-4300 and

   follow the prompts. To obtain FW1003, download FW1003.EXE.

   FW1003.EXE is a compressed, self-extracting file. After you

   download FW1003, run it to extract the file(s) it contains.

 - On the Internet, Application Notes are located on the Microsoft

   anonymous ftp server, which you can reach by typing "ftp

   ftp.microsoft.com" (without the quotation marks) at the ">" command

   prompt.

 - You can have this Application Note mailed or faxed to you from the

   automated Microsoft FastTips Technical Library, which you can call

   24 hours a day, 7 days a week at (800) 936-4300. NOTE: The FastTips

   Technical Library is available only to customers within the U.S. and

   Canada.

 - If you are unable to access the source(s) listed above, you can

   have this Application Note mailed or faxed to you by calling

   Microsoft Product Support Services Monday through Friday, 6:00 A.M.

   to 6:00 P.M. Pacific time at (206) 635-7191. If you are outside the

   United States, contact the Microsoft subsidiary for your area. To

   locate your subsidiary, call Microsoft International Customer

   Service at (206) 936-8661.

Additional reference words: 2.50 2.50a 2.50b appnote softlib


INF: List of Problems Identified in FoxPro 2.5b for Macintosh

Article ID: Q112314

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

The following is a list of the problems identified in FoxPro version 2.5b

for Macintosh.

MORE INFORMATION

================

This list contains the numbers and titles of Microsoft Knowledge Base

articles that fully describe the problems identified in FoxPro 2.5b for

Macintosh.

Knowledge Base Articles

-----------------------

Q108335   PRFOX: GPF or Crash When Entering Empty Date Field in RQBE

Q109476   PRFOX: FILE() Returns Erroneous Results

Q109484   PRFOX: Running Macintosh Project in Windows Causes Error

Q109485   PRFOX: GETFILE() Does Not Display Any Files

Q109603   PRFOX: FB+Migrate Application and SYS(1021), SYS(1022)

Q109840   PRFOX: FoxPro for Mac Can't Locate Database When Loading .VUE

Q110113   PRFOX: Problems Running FoxPro for Mac on Read-Only Share

Q110411   PRFOX: "Invalid Excel File Format" with IMPORT Command

Q110537   PRFOX: Can't Restore View w/Default Drive Set to Network Drive

Q110538   PRFOX: Windows Program on FoxPro/Mac Does Not Display Bitmaps

Q110539   PRFOX: COPY TO DELIMITED Creates File with No Carriage Returns

Q110610   PRFOX: MS-DOS Report Printed on LocalTalk Causes Type 1 Error

Q110764   PRFOX: Scrollable List Box Displays Blank Line at Bottom

Q110765   PRFOX: FONTMETRIC Returns Different Values for Monospaced Font

Q110766   PRFOX: OLE Object in General Field Moves with @ ... SAY

Q110767   PRFOX: Blank Window on 1 Monitor When Using Multiple Monitors

Q110781   PRFOX: Window Controls Are Blank When Using Multiple Monitors

Q110918   PRFOX: Graphical Help Redraws Multiple Times

Additional reference words: 2.50b buglist2.50b mac


INF: Pause Key Combination Doesn't Work in FoxPro for Mac

Article ID: Q112350

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

Pressing CONTROL+NUMLOCK pauses any operation occurring in Microsoft FoxPro

for MS-DOS until CONTROL+S is pressed. However, there is no corresponding

key combination for Microsoft FoxPro for Macintosh.

Additional reference words: 2.50b hold stop interrupt key keystroke ctrl


PRB: "Unrecognized Phrase/Keyword" w/ Calculated BROWSE Field

Article ID: Q112351

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The following error message occurs when you are using a calculated field in

a BROWSE:

   Unrecognized phrase/keyword in command.

CAUSE

=====

The calculated field is not assigned to a calculated field name.

RESOLUTION

==========

Assign a name to the calculated field.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. USE the CUSTOMER.DBF database file located in the TUTORIAL subdirectory.

   For example, if FoxPro is installed in a directory named FOXPROW on

   drive C, type the following in the Command window:

      USE C:\FOXPROW\TUTORIAL\CUSTOMER

2. Perform a BROWSE that attempts to concatenate the CITY and STATE fields,

   but doesn't assign the result to a calculated field name. Type the

   following in the Command window:

      BROWSE FIELDS city + state

   The error occurs.

To avoid this error, assign the concatenated fields to a calculated field

name. Instead of using the BROWSE command shown above, use the following

command:

   BROWSE FIELDS CityState = city + state

Additional reference words: 2.50 2.50a 2.50b errmsg err msg


INF: How to Emulate Function Keys in FoxPro for Macintosh

Article ID: Q112352

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

A number of FoxPro functions use a function key as a hot, or shortcut, key;

however, many Macintosh systems use keyboards that do not have function

keys. To emulate function keys on these systems, you can use a

CONTROL+COMMAND+<number> key combination.

MORE INFORMATION

================

The hot key to bring the Command window forward is COMMAND+F2. FoxPro for

Macintosh treats the CTRL and COMMAND keys the same, allowing users that

don't have function keys to mimic the COMMAND+<function key> combination.

To do this, hold both the CTRL and COMMAND keys down while pressing the

number of the function key to activate. For example, the Command window hot

key combination would be CTRL+COMMAND+2 instead of COMMAND+F2. To cycle

through active windows, the key combination would be CTRL+COMMAND+1 instead

of COMMAND+F1.

Additional reference words: 2.50b fkey ctrl hotkey access key accelerator


PRB: Variables Used in UDF Called by Report Display on Desktop

Article ID: Q112353

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The values of the variables used in a user-defined function (UDF) called by

a report are displayed on the desktop.

CAUSE

=====

The SET TALK command is ON, and the SET STATUS BAR command is OFF.

WORKAROUND

==========

Type either "SET TALK OFF" or "SET STATUS BAR ON" (without the quotation

marks) in the Command window.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a,

and 2.5b for Windows. We are researching this problem and will post new

information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

This behavior occurs when you perform a page preview while modifying a

report, as well as when you issue the REPORT FORMAT command to run a

report.

Steps to Reproduce Behavior

---------------------------

 1. Create a program named TESTUDF containing the following code:

       FUNCTION TestUDF

       var = "UDF text"

       RETURN ""

 2. Type the following code in the Command window::

       CREATE TABLE test (name C(20))

       INSERT INTO test (name) VALUES ('Chris Tester')

       SET TALK ON

       SET STATUS BAR OFF

       CREATE REPORT TEST

 3. From the Report menu, choose Quick Report.

 4. In the Quick Report dialog box, choose OK.

 5. From the toolbox, select the Field tool.

 6. Place a field object in the Detail band.

 7. In the Expression text box for the field, type "TESTUDF()" (without

    the quotation marks). Choose OK.

 8. From the Report menu, choose Page Preview.

 9. In the Page Preview screen, choose OK.

10. Close the report. When prompted to save the report, choose No.

Note that the text "UDF text" is displayed on the desktop.

Additional reference words: 2.50 2.50a 2.50b desk top


PRB: Mouse Cursor Disappears in a DO WHILE Loop

Article ID: Q112399

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When FoxPro for MS-DOS executes the INKEY() function with the "M"

parameter, the mouse cursor remains visible. However, when FoxPro for

MS-DOS executes a DO WHILE loop, the mouse cursor disappears.

STATUS

======

In FoxPro for MS-DOS, "no mouse" is the indicator that the mouse is busy

when running user code. This behavior is by design.

MORE INFORMATION

================

The following code demonstrates the issue. In FoxPro for MS-DOS, create and

execute this program:

   CLEAR

   SET MOUSE ON

   x = SECONDS()

   @10, 0 SAY "Start"

   =INKEY(2,"M")            && Mouse cursor remains visible in ;

                               FoxPro for MS-DOS

   @11, 0 SAY "End"

   DO WHILE SECONDS()-x<=5  && Mouse cursor disappears in ;

                               FoxPro for MS-DOS

   ENDDO

You will see that the mouse cursor remains visible between the "Start" and

"End" points. The "M" parameter of the INKEY() function is required for

this visual cue. When the code reaches the DO WHILE loop, the mouse cursor

disappears.

Additional reference words: 2.00 2.50 2.50a 2.50b


PRFOX: SET('COLOR') Returns Null in FoxPro 2.5 for Windows

Article ID: Q112400

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

SYMPTOMS

========

In FoxPro 2.5 for MS-DOS, issuing the command

   ?SET('COLOR')

returns two color pairs and "N." The two color pairs are for static text

(@ ... SAY) and data edit areas (@ ... GET). The "N" specifies the color

for the video border or frame.

In FoxPro 2.5 for Windows, issuing the same command returns a null string.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro version 2.5 for

Windows. This problem was corrected in FoxPro version 2.5a for Windows.

Additional reference words: 2.50 buglist2.50 fixlist2.50a


PRB: Error Messages with CD-ROM Database

Article ID: Q112401

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

----------------------------------------------------------------------

  WARNING: The information in this article has not been confirmed

  or tested by Microsoft. Some or all of the information in this

  article has been taken from unconfirmed customer reports. ANY USE

  BY YOU OF THE INFORMATION PROVIDED IN THIS ARTICLE IS AT YOUR OWN

  RISK. Microsoft provides this information "as is" without warranty

  of any kind, either express or implied, including but not limited

  to the implied warranties of merchantability and/or fitness for a

  particular purpose.

SYMPTOMS

========

FoxPro reports one of the following error messages when reading a

database from a disc in a CD-ROM drive:

   Not a table/DBF.

   -or-

   MEMO file is missing/invalid.

CAUSE

=====

The disc is dirty.

RESOLUTION

==========

Clean the disc.

Additional reference words: 2.50 2.50a 2.50b compact disc disk


PRB: Function or Procedure in Setup Causes Screen to Quit

Article ID: Q112403

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

A screen created by the Screen Builder does not run.

CAUSE

=====

The screen's Setup snippet contains a function or procedure.

RESOLUTION

==========

Move the function or procedure to the Cleanup snippet. This is where

functions and procedures should be placed.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

The code below a procedure or function is not executed unless that

procedure or function is called. When the procedure or function is located

in the Setup snippet, all the remaining code below it (for the screen) is

treated as a part of the procedure or function.

Steps to Reproduce Problem in FoxPro for Windows

------------------------------------------------

 1. Assuming FoxPro is installed in a directory named FOXPROW on drive

    C, type the following in the Command window:

       USE C:\FOXPROW\TUTORIAL\CUSTOMER

       CREATE SCREEN test

 2. From the Screen menu, choose Quick Screen.

 3. In the Quick Screen dialog box, choose OK.

 4. From the Screen menu, choose Layout.

 5. Under Options, choose Code.

 6. Under Screen Code And Clauses, choose Screen Setup Code, then

    choose OK twice.

 7. In the Setup snippet window, type the following:

       WAIT WINDOW "Before function"

       function Test

       x = ""

       RETURN x

       WAIT WINDOW "After function"

    NOTE: This behavior also occurs when a procedure is placed in the

    Setup snippet instead of a function.

 8. Close the Setup snippet window, saving the changes.

 9. From the Program menu, choose Generate.

10. When prompted to save changes to the screen, choose Yes.

11. When prompted to save environment information, choose Yes.

12. In the Generate Screen dialog box, choose Generate.

13. Close the Screen Design window.

14. In the Command window, type "DO test.spr" (without the quotation

    marks).

Note that the first WAIT WINDOW appears. After you press a key to

continue, however, the Command window reappears.

Additional reference words: 2.50 2.50a 2.50b


INF: DDE Commands Must Be Bracketed for Non-Windows Platform

Article ID: Q112427

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

Dynamic data exchange (DDE) commands are not ignored in FoxPro for MS-DOS

or FoxPro for Macintosh.

If you execute a DDE command, FoxPro for MS-DOS will produce the error

message "Function not implemented." FoxPro for Macintosh will display the

error message "Feature not available."

Use the system memory variable _WINDOWS to prevent the error messages from

appearing. For example:

   IF _WINDOWS

      <DDE commands>

   ENDIF

The value of this system memory variable is determined by the version of

FoxPro that is executing the code. You cannot use the STORE or = commands

to change the value of this variable.

Additional reference words: 2.50 2.50a 2.50b errmsg err msg _dos _mac _unix


PRB: "Mismatched Case Structure" with Multiplatform .SCX File

Article ID: Q112450

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

If a screen is transported from one platform to any other platform, and a

hard-coded procedure in a code snippet is written into the generated .SPR

file before the Cleanup/Procedures code, a "Mismatched Case Structure"

error message appears.

CAUSE

=====

In a multiplatform environment, the .SPR file is generated with a CASE

statement, with _WINDOWS and _MAC being one case, and _DOS and _UNIX being

the other. The error message "Mismatched Case Structure" occurs when FoxPro

encounters a hard-coded PROCEDURE command in the screen's Setup code that

is within the first CASE statement. FoxPro assumes it has moved beyond the

end of any iterative logic because it encountered the PROCEDURE command

before the termination of the CASE statement by an ENDCASE statement.

STATUS

======

This behavior is by design. All procedures and functions should be included

in the Cleanup/Procedures code snippet of a screen and should not be

included in any other snippet.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. In FoxPro for Windows, create a screen with the following code in the

   Setup code snippet:

     PROCEDURE test

     RETURN .t.

2. Save the screen.

3. Open the .SCX file in FoxPro for Macintosh to force the Macintosh

   records to be written into the .SCX file.

4. Generate the .SPR file.

5. Run the .SPR file. The error should occur.

Additional reference words: 2.50 2.50a 2.50b cross-platform multiple


INF: Changes in SET LIBRARY TO Functionality

Article ID: Q112469

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

The SET LIBRARY TO command has been changed in FoxPro 2.6 to allow greater

compatibility with the dBASE IV version of this command. However, the 2.6

Help file incorrectly documents these changes.

MORE INFORMATION

================

The SET LIBRARY TO command has been changed to include the same

functionality as dBASE IV version 2.0. In previous versions of FoxPro, the

SET LIBRARY TO command was used only to load an API library compiled using

the Library Construction Kit (LCK). In version 2.6, the SET LIBRARY TO

command can also be used to specify a procedure file. The SET PROCEDURE

command remains unchanged and can still be used to specify a procedure

file.

If both a SET LIBRARY TO <procedure file> and a SET PROCEDURE TO <procedure

file> command are issued, both procedure files will be opened and the

procedures within both files will be available for use.

If no extension is provided for the library filename, for example, "SET

LIBRARY TO test", FoxPro will search for filenames in the following order:

   .PLB or .FLL

   .APP

   .FXP

   .PRG

Documentation Errors

--------------------

The Help file is incorrect or incomplete in some areas.

 - The following note is incomplete:

      NOTE: The ability to open a procedure file with SET LIBRARY provides

      compatibility with dBASE IV. Using SET LIBRARY to open a procedure

      file will close all open API libraries; using SET LIBRARY to open API

      libraries will close a procedure file opened with SET LIBRARY. Use

      SET PROCEDURE to open a procedure file and prevent API libraries from

      being unloaded.

   If the SET LIBRARY TO command is used with the ADDITIVE clause, the

   procedure file will be opened, and the API library will remain loaded.

 - The following section of the Help file is incorrect:

      ADDITIVE

      To open additional API libraries, include ADDITIVE after the file

      name in successive SET LIBRARY commands. To remove all API libraries

      from memory, issue SET LIBRARY TO without including <file name> or

      ADDITIVE. To remove an individual library from memory, issue RELEASE

      LIBRARY <library name>. The ADDITIVE keyword is ignored when you use

      SET LIBRARY to open a procedure file.

   The ADDITIVE keyword is not ignored when SET LIBRARY is used to open a

   procedure file and an API library is loaded. If a procedure file has

   been loaded, the original procedure file will be closed and the new

   procedure file will be opened, regardless of whether ADDITIVE is

   included.

   To close a procedure file opened with the SET LIBRARY TO command, issue

   the SET LIBRARY TO command without including <filename> or ADDITIVE.

Additional reference words: 2.60 docerr


PRB: @ ... SAY Command in Format File Causes Extra Column

Article ID: Q112470

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

The @ ... SAY command functions differently in a FoxPro format file than in

a dBASE IV format file.

CAUSE

=====

FoxPro and dBASE format files differ in functionality. In FoxPro, the

BROWSE FORMAT command has been enhanced so that an @ ... SAY command in a

format file creates a calculated, read-only field. In dBASE IV, this

command is ignored.

If a dBASE IV format file is migrated to FoxPro, extra columns may appear

if a BROWSE FORMAT command is then issued using this format file.

RESOLUTION

==========

Remove the @ ... SAY commands unless a calculated field is desired.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Create a file named CUSTOMER.FMT with the following commands:

      @ 1,1 SAY "CNO"

      @ 1,10 GET cno

      @ 2,1 SAY "CUSTOMER"

      @ 2,10 GET company

   TIP: As an alternative, combine the corresponding @ ... SAY commands and

   @ ... GET commands into one command. For example:

      @1,1 SAY 'CNO' GET cno

      @2,1 SAY 'COMPANY' GET company

2. Issue the following commands in the FoxPro Command window:

      USE tutorial\customer

      SET FORMAT TO customer.fmt

      BROWSE FORMAT

Note that there are four columns in the Browse window. Two of these are

read-only fields, with CNO and CUSTOMER as constant text. The other two

fields contain the actual contents of the CNO and COMPANY fields.

Additional reference words: 2.60


PRB: Commands in dBASE Format File Ignored During BROWSE

Article ID: Q112471

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

FoxPro 2.6 ignores some commands in a dBASE IV created format file if a

BROWSE FORMAT command is issued.

NOTE: The extra commands in a format file are ignored only during a BROWSE

FORMAT command. The EDIT, CHANGE, APPEND, and READ commands do not ignore

the extra commands in the format file.

CAUSE

=====

FoxPro and dBASE format files differ in functionality. FoxPro allows only

@ ... SAY, @ ... GET, and COLOR commands in a format file, whereas dBASE

allows other program commands.

FoxPro provides for the use of other commands through the Screen Builder

power tool, which is the replacement for the dBASE format file. The FoxPro

Migration tool, MIGRATE.APP, will convert dBASE .FMT files into FoxPro .SCX

files. To run the Migration tool, choose Convert dBASE Files from the Run

menu in FoxPro 2.6.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Create a file named CUSTOMER.FMT with the following commands:

      *------------------------------------------------------------------

      * Name.......: CUSTOMER.FMT

      * Version....: dBASE IV, Format 2.0

      * Notes......: Format files use "" as delimiters!

      *------------------------------------------------------------------

      *-- Format file initialization code -------------------------------

      *-- Some of these PRIVATE variables are created based on CodeGen

      *-- and may not be used by your particular .FMT file

      PRIVATE ll_talk, ll_cursor, lc_display, lc_status, ll_carry, ;

         lc_proc

      IF SET("TALK") = "ON"

        SET TALK OFF

        ll_talk = .T.

      ELSE

        ll_talk = .F.

      ENDIF

      ll_cursor = SET("CURSOR") = "ON"

      SET CURSOR ON

      lc_display = SET("DISPLAY")

      lc_status = SET("STATUS")

      *-- SET STATUS was ON when you went into the Forms Designer.

      IF lc_status = "OFF"

         SET STATUS ON

      ENDIF

      *-- @ SAY GETS Processing. ----------------------------------------

      *--  Format Page: 1

      @ 1,0 SAY "CNO"

      @ 1,4 GET cno PICTURE "XXXXXX"

      @ 2,0 SAY "CONTACT"

      @ 2,4 GET contact PICTURE "XXXXXXXXXXXXXXXXXXXX"

      @ 3,0 SAY "COMPANY"

      @ 3,4 GET company PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXX"

      *-- Format file exit code -----------------------------------------

      *-- SET STATUS was ON when you went into the Forms Designer.

      IF lc_status = "OFF"  && Entered form with status off

         SET STATUS OFF     && Turn STATUS "OFF" on the way out

      ENDIF

      IF .NOT. ll_cursor

        SET CURSOR OFF

      ENDIF

      IF SET( "DISPLAY" ) <> lc_display

        SET DISPLAY TO &lc_display.      && Reset Screen size if changed

      ENDIF

      RELEASE lc_fields,lc_status

      IF TYPE( "ll_echo" ) = "L"

        IF ll_echo

          SET ECHO ON

        ENDIF

      ENDIF

      IF ll_talk

        SET TALK ON

      ENDIF

      *-- EOP: CUSTOMER.FMT

2. Issue the following commands in the Command window:

      USE customer

      SET FORMAT TO customer.fmt

      BROWSE FORMAT

FoxPro will ignore all commands except @ ... SAY, @ ... GET, and COLOR

commands.

This behavior is by design to eliminate the "Syntax error" message that

occurs in previous versions of FoxPro.

Additional reference words: 2.60


INF:Use of *# USERPOSTCOMMAND Screen Generator Directive

Article ID: Q112473

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

FoxPro 2.6 contains a new screen generator directive, *# USERPOSTCOMMAND,

which expands the functionality of the Screen Builder. This new directive

allows the use of code that is executed after GET fields are initially

defined but before the READ is executed.

MORE INFORMATION

================

The *# USERPOSTCOMMAND directive is placed in the comment snippet of a GET

field as follows:

   *# USERPOSTCOMMAND DO myprocedure

In this example, a line of code ("DO myprocedure") is inserted immediately

after the GET field in the generated .SPR program.

You can use this directive to define a number of GET fields based on

conditions that exist when the screen is initially executed. This approach

is often more desirable than disabling GET fields when certain users should

not have access to confidential information, such as salary figures.

NOTE: This directive will not override the limitation of being unable to

define new GET fields within the active READ. It will not allow the current

GET to be redefined at run time, since the code is placed on the line

following the @ ... GET statement.

Example

-------

1. Issue the following commands in the Command window:

      USE tutorial\customer

      CREATE SCREEN postcmd

2. Place two fields, CNO and COMPANY, near the top of the screen. Leave a

   number of blank lines in the window, so that line 7 is blank.

3. In the Setup snippet, add the following code:

      #SECTION 1

      PARAMETER security

4. In the comment snippet of the second GET field, add the following line:

      *# USERPOSTCOMMAND do moreflds with security

5. In the Cleanup snippet of the screen, add the following code:

      PROCEDURE moreflds

      PARAMETER level

      IF level = 1

         RETURN

      ELSE

         @ 7,20 SAY "YTD Purchased " GET ytdpurch

      ENDIF

6. Save and generate the screen.

7. In the Command window, issue the following command. This example is hard-

   coding a security level in the Command window; normally, such a

   parameter would be defined programmatically.

      DO postcmd.spr WITH 1

   The screen will appear with two GET fields.

8. Close the screen program. In the Command window, issue the following

   command:

      DO postcmd.spr WITH 2

The screen will appear with three GET fields.

Additional reference words: 2.60


PRB: MEMORY() and MEMORY(0)  Don't Return Same Value

Article ID: Q112474

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Windows, versions 2.6

- Microsoft FoxPro for MS-DOS, versions 2.6

--------------------------------------------------------------------

SYMPTOMS

========

The MEMORY() and MEMORY(0) functions do not return the same value in

Microsoft FoxPro version 2.6. However, these functions do return the same

value in dBASE.

NOTE: The return values are not affected by the setting of COMPATIBLE.

MORE INFORMATION

================

In dBASE IV, both MEMORY() and MEMORY(0) return the amount of available RAM

on the system. In FoxPro, MEMORY() returns the amount of memory below 640K

that is available to RUN an external program. This is similar to the

SYS(12) function in FoxPro. There is no true equivalent in FoxPro for the

dBASE functions.

Steps to Reproduce Behavior

---------------------------

Type the following lines in the Command window:

   SET COMPATIBLE ON

   ?MEMORY()=MEMORY(0)   && This displays the value .F.

Additional reference words: 2.60


INF: Tab Order of Navigation Buttons in 2.6 Wizards

Article ID: Q112476

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Windows, versions 2.6

- Microsoft FoxPro for MS-DOS, versions 2.6

--------------------------------------------------------------------

The tab order for the navigation buttons in the wizards is as follows:

Cancel, Back, Next, and Finish.

The buttons are in the same sequence for FoxPro for MS-DOS and Windows.

Additional reference words: 2.60


INF: _PDRIVER Incorrectly Documented in FoxPro 1.02

Article ID: Q112477

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 1.02

----------------------------------------------------------------------

SUMMARY

=======

The documented functionality of the _PDRIVER variable on page C5-21 in the

"Commands & Functions" manual is incorrect. Microsoft FoxPro version 1.02

does not use any printer drivers; therefore, the _PDRIVER variable is

meaningless to the program.

MORE INFORMATION

================

The second paragraph on page C5-21 states:

   _PDRIVER contains a character value that determines which printer

   driver will be used when printing. The default value contained in

   this variable is the default printer driver specified when FoxPro

   was installed.

   <expC> MUST contain the name of one of the printer drivers supplied

   with FoxPro (see the Appendix for a complete list). The printer

   driver file name that you provide must be valid and must contain a

   path of the requested driver is not in the current default

   directory.

This text contains several inaccuracies. First, the Appendix does not

contain a list of printer drivers. Second, FoxPro 1.02 does not prompt you

for a specific printer during installation; therefore, no value is stored

to the _PDRIVER variable. Finally, FoxPro 1.02 does not ship with any

printer drivers.

The _PDRIVER variable was originally supposed to contain a printer driver.

However, printer drivers were never shipped for FoxPro 1.02.

Additional reference words: 1.02 docerr


ERR: ODBC Error IM002 (0): Data Source Not Found...

Article ID: Q112479

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro Connectivity Kit, version 2.5

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When you are trying to connect to a server with a DBConnect() command, the

following error message is displayed:

   ODBC error IM002 (0): [Microsoft][ODBC DLL] Data source not found

   and no default driver specified

RESOLUTION

==========

This error could be caused by one of the following situations:

 - The Data Source Name in the Control Panel's ODBC Driver Manager

   does not match the Data Source Name in the DBConnect() command.

   For example, in the Control Panel's ODBC Driver Manager for the ODBC

   driver, if the Data Source Name in the Setup dialog box is "test"

   (without the quotation marks), and you issue the following DBConnect()

   command

      handle=DBConnect('wrong_name','sa','')

   you will receive a negative number for the handle, and after calling

   DBError(), you will receive the error message.

   To correct the problem in the above example, change the DBConnect() line

   to:

      handle=DBConnect('test','sa','')

   Syntax of DBConnect()

   ---------------------

      DBConnect(<Data source name>,<User identifier>,<Password>,

                <Connection string>)

   -or-

 - You are using Oracle and are not specifying the connect string as the

   forth parameter. Page 32 of the Microsoft FoxPro Connectivity Kit

   "User's Guide" states:

      Although many ODBC drivers don't require a connection string,

      some do. If you include a connection string, FoxPro passes the

      connection string to the ODBC driver. For more information, see

      your ODBC driver documentation.

   For more information about the Oracle connect string:

   1. Open the Control Panel and double-click the ODBC Driver Manager.

   2. Select the Oracle driver from the Data Sources (Driver)  list.

   3. Click the Help button.

   4. On the Help screen that comes up, scroll to the section that reads

      "SQL*Net Connect String."

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT

YOUR OWN RISK. Microsoft provides this code "as is" without warranty

of any kind, either express or implied, including but not limited to

the implied warranties of merchantability and/or fitness for a

particular purpose.

To reproduce the problem using SQL Server:

1. In the Control Panel's ODBC Driver Manager, set up a SQL Data Source

   with the following information:

      Data Source Name: test

      Description: test

      Server: REDDFOXX

   The server name will vary depending upon the network and the actual name

   that the server's administrator has given the server.

2. Create and run the following program:

      SET LIBRARY TO SYS(2004)+"fpsql.fll"

      PUBLIC errval

      PUBLIC errmsg

      PUBLIC handle

      errval=0

      errmsg=' '

      sourcename= 'wrong_name'  && This should have been

                                && sourcename='test'

      user= 'sa'                && This is your user ID for SQL

                                && Server.

      passwd=''                 && Password for the user ID on the

                                && line above.

      ********CONNECT

      handle=DBConnect(sourcename,user,passwd)

      IF handle > 0

         WAIT WINDOW 'Successfully Connected' nowait

      ELSE

         error=DBError(0,@errmsg,@errval)

         WAIT WINDOW STR(error)+' '+STR(errval)+' '+errmsg

      ENDIF

Additional reference words: 2.50 IM002 ODBC CK errmsg err msg


INF: How to Make an MS-DOS Level SQL Server Connection

Article ID: Q112482

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The procedure below shows how to use the Connectivity Kit to connect to a

SYBASE or Microsoft SQL Server from within FoxPro for MS-DOS.

MORE INFORMATION

================

NOTE: The FPSQL.PLB file supports only SQL Server connections. The file

DBNMPIPE.EXE must be loaded before FoxPro for MS-DOS is started. the

DBNMPIPE.EXE file is not supplied in the Connectivity Kit; it is provided

with the SQL Server software.

To connect to a SQL Server machine, do the following:

1. Boot the machine and load the workstation software.

2. Load DBNMPIPE.EXE at the MS-DOS prompt.

3. Start FoxPro for MS-DOS.

4. Type the following lines in the Command window:

      SET LIBRARY TO SYS(2004)+"FPSQL" ADDITIVE

      handle=DBConnect("your_SQL_Server_name","sa","password","pubs")

Handle will return a positive number if you have a proper connection.

"Your_SQL_Server_name" can be called anything. Check with your SQL

administrator to find out its exact name. For more information,

see page 5 of the FoxPro Connectivity Kit "Users Guide."

Additional reference words: 2.50 ODBC CK


INF: Limitations of Run-Time MS Graph

Article ID: Q112483

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The Setup Wizard allows the Microsoft Graph run-time module to be included

in distributed applications. However, the run-time module does not include

the full functionality of the MS Graph application shipped with FoxPro.

Workarounds

-----------

 - Although the license agreement for MS Graph prohibits the distribution

   of the full version of MS Graph with applications, if the workstation on

   which the executable file is installed has the full version of MS Graph

   installed through FoxPro or another software package, that workstation

   will be able to access full graph functionality through the distributed

   executable file.

 - You can use a third-party graphics package instead of MS Graph to create

   graphs in distributed executables.

MORE INFORMATION

================

The MS Graph run-time module can only be used to view existing graphs that

have been created and saved through the FoxPro Graph Wizard. The existing

graphs cannot be updated to include new data and formatting changes. The

run-time module also prohibits new graphs from being created.

REFERENCES

==========

For more information about distributing files with your application, see

the Distribution Kit "User's Guide."

Additional reference words: 2.50b change dk setupwizard msgraph graphwizard


INF: SAY Field Refresh Option Causes Hidden Window to Reappear

Article ID: Q112484

-----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

-----------------------------------------------------------------------

SYMPTOMS

========

When you are running a screen set with multiple windows in which one has

been hidden, the hidden window reappears even when a SHOW WINDOW command

has not been executed.

CAUSE

=====

In addition to other screen objects, the hidden window contains at least

one SAY/output object, and the Refresh Output Field check box is selected.

A SHOW GETS command that does not include a WINDOW clause is placed in a

user-defined code snippet to update objects on the screen.

RESOLUTION

==========

See "Workarounds" in the "Steps to Reproduce Behavior" section below.

MORE INFORMATION

================

WARNING: ANY USE OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK.

Microsoft provides this code "as is" without warranty of any kind, either

express or implied, including but not limited to the implied warranties of

merchantability and/or fitness for a particular purpose.

Steps to Reproduce Behavior

---------------------------

The following procedure illustrates the behavior described. The steps

describe dialog boxes and objects found in FoxPro for Windows and FoxPro

for Macintosh. Minor differences exist in the FoxPro for MS-DOS

environment.

 1. Open the CUSTOMER table (CUSTOMER.DBF) in the TUTORIAL subdirectory

    beneath the FoxPro main directory.

 2. Create a screen, and save it as SCR1.SCX.

 3. In SCR1, choose Screen Layout from the Screen menu and type "SCR1"

    (without the quotation marks) as the window name and "SCR 1" (without

    the quotation marks) as the window title.

 4. Create an output field, select the Refresh Output Field check box, and

    specify the COMPANY field as the field to output.

 5. Create a push button with the prompts "OK" and "NEXT SCREEN" and an

    "M.OK" variable. In the VALID code snippet, enter the following code:

       DO CASE

          CASE m.ok=1

             CLEAR READ

          CASE m.ok=2

             HIDE WINDOW scr1

             SHOW WINDOW scr2

             _CUROBJ=OBJNUM(m.choice)

        ENDCASE

 6. Create a second screen, and save it as SCR2.SCX.

 7. In SCR2, choose Screen Layout from the Screen menu and type "SCR2"

    (without the quotation marks) as the window name and "SCR 2" (without

    the quotation marks) as the window title.

 8. Create an output field, select the Refresh Output Field check box, and

    specify the CONTACT field as the field to output.

 9. Create a push button set with the prompts "OK" and "Update" and an

    "M.CHOICE" variable. In the VALID code snippet of the push button set,

    enter the following code:

       DO CASE

          CASE m.choice=1

             CLEAR READ

          CASE m.choice=2

             SKIP

             SHOW GETS && WINDOW (WONTOP())

       ENDCASE

10. In the ON SCREEN ENTRY (When) code snippet, enter the following

    line of code:

       HIDE WINDOW SCR2

11. Save both SCR1.SCX and SCR2.SCX, bring SCR1.SCX to the foreground,

    and generate the two screens together. SCR1 should be listed first

    in the screen set list box.

12. Run the screen program SCR1.SPR. Disregard the momentary appearance

    of SCR2. This is a side-effect of combining two independent screens

    together in a single READ and is discussed below. When SCR1 is

    waiting to receive input, choose the Next Screen push button. SCR1

    disappears and SCR2 appears. Clicking Update causes SCR1 to

    reappear.

To understand why this behavior occurs requires looking at the generated

screen code. When the FoxPro screen code generator (GENSCRN.PRG) creates

the screen program (.SPR) from a screen with a SAY/output field, the

Refresh property of which has been checked, it generates code in the SHOW

snippet which looks like the following:

   IF SYS(2016) = "SCR1" OR SYS(2016) = "*"

      ACTIVATE WINDOW scr1 SAME

      @ 1.000,2.800 SAY company ;

         SIZE 1.000,80.800, 0.000 ;

         FONT "MS Sans Serif", 8

   ENDIF

As documented in the "Language Reference" and the online Help system,

SYS(2016) returns the name of the window to be refreshed by the last SHOW

GETS command executed. If SHOW GETS is called without the optional WINDOW

clause, SYS(2016) will return an asterisk (*). It is the ACTIVATE WINDOW

command in the IF ... ENDIF block above that causes the hidden window to be

redisplayed.

The following command will update the objects on the current window only:

   SHOW GETS (WOUTPUT())

Workarounds

-----------

To correct the screen set created above, eliminate the comments (&&) in

step 9, save SCR2.SCX, and regenerate the screen set, making sure that SCR1

is listed first in the screen set list box of the Generate Screen dialog

box.

There are a variety of ways to combine a screen set. If the limit on the

number of READs is a concern, see the following article in the Microsoft

Knowledge Base:

   ARTICLE-ID: Q106697

   TITLE     : INF: How to Prevent "Too Many READs in Effect" Error Message

Article Q106697 describes a method of switching between screens without

incrementing the READ level much like the sample application EX1 included

with Microsoft FoxPro.

If speed of execution between screens is a concern, SAY fields cannot be

used. Instead, use GET objects. In the WHEN clause of each GET, return the

value .F., so that the user cannot enter the field.

A fundamental problem exists with the method described for tying two

independent screens together in a single READ, commonly referred to as a

"screen set." Without modifying the .SPR directly, there is no way to avoid

the momentary display of the hidden window before it is hidden again by the

HIDE WINDOW command the user places in the ON SCREEN ENTRY code snippet.

The screen generator doesn't provide an option to prevent the display of

one or more windows combined in a screen set. While the flicker may be

momentarily distracting on slower computers, the speed gained in having

more than one screen in memory simultaneously may provide justification.

Another benefit is that only a single READ level is consumed by all screens

involved.

Additional reference words: 2.00 2.50 2.50a 2.50b release


PRB: Cannot Set A3 or 8.5x12 Page Size with PostScript Driver

Article ID: Q112485

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

If you set the printer driver to PostScript and select the page size A3 or

8.5x12, an error message box that says "Variable  HORIZPTS not found" with

the buttons Cancel, Suspend, and Ignore will be displayed.

If you choose the Ignore button, the error message "Variable 'VERTPTS' not

found" will be displayed.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a,

and 2.5b for MS-DOS. We are researching this problem and will post new

information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

 1. From the File menu, choose Printer Setup.

 2. Select the Printer Driver Setup check box.

 3. Choose the New button.

 4. In the Printers list, select PostScript.

 5. Under Page Size, select A3.

 6. In the Setup Name box, type "PSCRIPT" (without the quotation marks) and

    then choose OK.

 8. In the Printer Driver Setups dialog box, select PSCRIPT.

 9. Choose the Set Default button.

10. Choose the Set button.

An error message box that says "Variable HORIZPTS not found" with the

buttons Cancel, Suspend, and Ignore will be displayed.

Additional reference words: 2.50 2.50a 2.50b print paper errmsg err msg


PRB: Wrong Version of DK Causes "Insufficient Memory" in .EXE

Article ID: Q112487

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

Although you can run a stand-alone extended executable file in the FoxPro

development environment, you can't run it at the MS-DOS prompt without

causing an "Insufficient Memory" error message.

CAUSE

=====

This error can occur if the FoxPro Distribution Kit (DK) version does not

match the FoxPro development version.

RESOLUTION

==========

To ensure that the DK and the development versions match, check the

DKREADME.TXT file for the correct DK name.

To determine the current version of FoxPro, use the VERSION() function

in the Command window; for example:

   ? VERSION()

Make sure both versions match, and then rebuild the executable file.

MORE INFORMATION

================

The DK filenames end with an .ESL or .ESO extension and include a "D" or

"W", indicating either the MS-DOS or Windows version of the support

libraries. In later versions of the product, the filename may end with

letters such as "A" or "B". Note that the names of the Extended (32-bit)

versions of FoxPro normally contain the letter "X".

The FoxPro 2.5b for MS-DOS Support Library consists of three files:

   FOXD250B.ESL - FoxPro for MS-DOS Standard Support Lib. Ver. 2.5b

   FOXD250B.ESO - FoxPro for MS-DOS Standard Support Lib. Ver. 2.5b

   FOXDX25B.ESL - FoxPro for MS-DOS Extended Support Lib. Ver. 2.5b

The FoxPro 2.5b for Windows Support Library consists of one file:

   FOXW250B.ESL - FoxPro for Windows Extended Support Lib. Ver. 2.5b

NOTE: These files are normally located in the main FoxPro directory along

with the FoxPro .EXE file.

Additional reference words: 2.50 2.50a 2.50b errmsg err msg


PRB: Macro Substitution Doesn't Work with M Prefix

Article ID: Q112495

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Macro substitution fails on variables that use the M prefix ("m." or

"m->").

RESOLUTION

==========

Use the variable without the M prefix.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

The M prefix is used to differentiate between memory variables and database

fields with the same name. It is not needed for memory variables whose

names do not match any field names in the current work area.

Steps to Reproduce Problem

--------------------------

Assuming a database called CUSTOMER.DBF (you can use the one from the

TUTORIAL subdirectory) is in the current directory, type the following in

the Command window:

   testvar = "CUSTOMER"

   USE &m.testvar

This causes the following error message:

   File '&m.testvar' does not exist.

Other Error Messages

--------------------

Using a variable with the M prefix in macro substitution for the WHEN

clause of a SQL SELECT statement may cause the following error message:

   Syntax Error.

Additional reference words: 2.00 2.50 2.50a 2.50b period dot errmsg err msg


INF: PRINTSTATUS() Always Returns .T. in FoxPro

Article ID: Q112519

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

If a printer has been selected using the Chooser, the PRINTSTATUS()

function will always return .T. This is also true in FoxPro for Windows if

a printer has been selected in the Control Panel.

REFERENCES

==========

FoxPro for Macintosh Help file entry for PRINTSTATUS()

Additional reference words: 2.50 2.50a 2.50b


INF: FoxPro 2.6 for MS-DOS: Most Frequently Asked Questions

Article ID: Q112567

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

This article contains answers to frequently asked questions about Microsoft

FoxPro version 2.6 for MS-DOS. This article is divided into four sections:

   Installation

   Network Issues

   Printing Issues

   Screens

PART 1: INSTALLATION

====================

1.  Q. I get the error message "Cannot Create <Path>\FOXPRO.EXE" during

       installation. How can I correct this problem?

    A. One possible cause is that FOXPRO.EXE or FOXPROX.EXE already exists

       in that directory and it is marked read-only.

       In order for the Setup program to perform a successful installation,

       you must either rename the .EXE file or mark it as read/write. To

       mark the file as read/write, use the MS-DOS command ATTRIB -R

       <path>\FOXPRO.EXE to remove the Read-Only attribute from the file.

2.  Q. What are the minimum files required to run FoxPro?

    A. Not all files placed on the hard disk during installation of FoxPro

       are absolutely required for operation of the product. FoxPro 2.6 for

       MS-DOS can be started with only two files: FOXPRO.EXE and

       FOXPRO.OVL. For the Extended (32 bit) version, these two files can

       be replaced by only one, FOXPROX.EXE.

       The minimum files needed to run FoxPro 2.6, use the menu and screen

       generators, and set printer drivers are listed below.

       NOTE: Upon startup, FoxPro will create FOXUSER.DBF and FOXUSER.FPT

       files, and upon screen or menu generation, it will create the

       appropriate .FXP files.

          Filename         Bytes      Comments

          -------------------------------------------------------------

          DRIVER2.PLB      13277

          FOXSWAP.COM       5971      Only needed for standard version.

          GENMENU.PRG      49909

          GENPD.APP       374351

          GENSCRN.PRG     292613

          GENXTAB.PRG      29246      Only needed for cross tabulation.

          PSAPI.PLB        24451

          TRANSPRT.PRG    390203      Only needed if you are converting

                                      files from 2.0 or want to create

                                      cross-platform applications.

          FOXPRO.EXE      411599

          FOXPRO.OVL     1424976

3.  Q. A "CRC Error" occurs during Setup. How can I correct this error?

    A. When reading a disk, MS-DOS performs a cyclical redundancy check

       (CRC) to verify disk sectors. The CRC is a sophisticated parity

       check of the data in each sector and will detect most data errors,

       such as lost or scrambled bits.

       To determine if there is a problem with the disks:

       1. Attempt the installation a second time.

       2. Install on a "clean" (minimal) configuration.

       3. Install on another machine to verify there is not a hardware

          problem.

       4. Copy the floppy disks to a temporary directory on the hard disk

          and run the Setup program from this temporary directory.

       If the installation still fails, call Microsoft Product Support

       Services for assistance.

4.  Q. When I'm running the INSTALL /N command, I get the error message

       "File 'ADDUSER.APP' Does Not Exist." How can I correct this problem?

    A. The INSTALL /N command was not issued from the directory containing

       the Administrative Installation (INSTALL /A) of FoxPro.

       After a Workstation Installation completes the Basic portion of its

       installation, it calls the FoxPro program ADDUSER.APP to configure

       the workstation for the network environment. In order for FoxPro to

       load and run ADDDUSER.APP, the current directory must be the

       Administrative Installation directory.

       Even if the Administrative Installation directory is on the MS-DOS

       search path, allowing FoxPro itself to start, because ADDUSER.APP is

       not an MS-DOS executable program (.COM or .EXE), it cannot be

       located on the path, thus causing the error message.

5.  Q. The Configuration portion of INSTALL /N fails. How can I correct

       this problem?

    A. The command, "INSTALL /N" (without the quotation marks) was not

       issued from the directory containing the Administrative Installation

       (INSTALL /A) of FoxPro.

       Go to the drive and directory containing the Administrative

       Installation of FoxPro, then reissue the INSTALL /N command.

       After a Workstation Installation completes the Basic portion of its

       installation, it calls the FoxPro program ADDUSER.APP to configure

       the workstation for the network environment. In order for FoxPro to

       load and run ADDDUSER.APP, the current directory must be the

       Administrative Installation directory.

       The error received depends on which directory you started INSTALL /N

       from, and whether you are running it from an MS-DOS prompt in

       Windows, or at MS-DOS itself.

6.  Q. Why does INSTALL /N prompt for a floppy disk?

    A. The INSTALL /N command was not issued from the Administrative

       Installation directory.

       To avoid this problem, use one of the following workarounds.

       Workaround 1: Go to the Administrative Installation Directory

       -------------------------------------------------------------

       Go to the Administrative Installation directory, and then type the

       command "INSTALL /N" (without the quotation marks).

       For example, assuming the Administrative Installation is located in

       a directory named N:\ADMIN, type the following commands at the

       MS-DOS prompt:

          n:

          cd\admin

          install /n

       Workaround 2: Use SUBST to Reassign the Letter of the Local Drive

       -----------------------------------------------------------------

       If for testing or other purposes you require that the Administrative

       Installation be located on a local hard disk and you do not want to

       issue the INSTALL /N command from the Administrative Installation

       directory, use the MS-DOS SUBST command to reassign the directory

       containing the Administrative Installation to another drive letter.

       For example, assuming the Administrative Installation is located in

       a directory named C:\ADMIN and you want to create a Workstation

       Installation in a directory named C:\WORKSTA, type the following at

       the MS-DOS prompt:

          subst n: c:\admin

          c:

          cd\worksta

          n:\install /n

       The Workstation Installation requires a previous Administrative

       Installation. Even though it prompts for a floppy disk, the

       Workstation Installation cannot be performed using the Installation

       floppy disks.

PART 2: NETWORK ISSUES

======================

1.  Q. I get a "File Access Denied" error message when writing to file. How

       can I correct this problem?

    A. The steps you must use to resolve this problem depends on the

       network product you are using.

       For a LANtastic network, do the following:

       1. Check the files and locks settings for the SHARE command in the

          AUTOEXEC.BAT file. The recommended settings are as follows:

             share /f:5120 /l:500

          NOTE: This command uses a lowercase "L", not a number 1.

       2. Verify that the .EXE, .RSC, and .OVL files are marked read-only.

          If necessary, change the security using the MS-DOS ATTRIB command

          (for example, ATTRIB +R <filename>).

       3. Make sure that the CONFIG.FP file on the server redirects the

          OVERLAY= statement to a directory other than the directory

          containing the FOXPRO.EXE file.

       For a Novell network, do the following:

       1. Check the user's privileges.

       2. Have the user log in as a supervisor and repeat the operation.

       3. Make sure that the .EXE, .ESO and .ESL files are marked read-

          only. If necessary, change the security using the MS-DOS ATTRIB

          command (ATTRIB +R <filename>).

       LANtastic and Novell are manufactured by vendors independent of

       Microsoft; we make no warranty, implied or otherwise, regarding

       these products' performance or reliability.

2.  Q. How do I resolve the "Sharing Violation Reading Drive" error?

    A. The following are six troubleshooting steps for this error:

        - Verify that each user has a FOXUSER.DBF file.

        - Verify that the CONFIG.FP file on the server includes the

          EXCLUSIVE=OFF statement. If EXCLUSIVE=OFF is used, database files

          can be shared.

        - Verify that the CONFIG.FP file on the server includes the

          RESOURCE=OFF statement, or that each user's FOXUSER.DBF and

          FOXUSER.FPT files are marked read-only.

        - If you are using FoxPro 2.6 for MS-DOS, verify that the

          FOXPRO.EXE, FOXPROX.EXE, and FOXR.EXE files are marked read-only.

        - If you use the Distribution Kit to create a stand-alone

          application, verify that the .EXE files are marked read-only.

        - If you create compact executable files, mark the .ESL and .ESO

          files read-only.

        - In some cases, the MS-DOS SHARE program must be loaded on the

          server and on each workstation. Specify the /F and /L parameters

          as follows:

             share /f:5120 /l:500

          NOTE: This command uses a lowercase "L", not a number 1.

PART 3: PRINTING ISSUES

=======================

1.  Q. How do I start a print job from a page other than page 1?

    A. To start a print job at a location other than page 1, set _PBPAGE to

       the number of the page at which printing should start and create a

       program that uses the PRINTJOB ... ENDPRINTJOB commands.

       Using the _PBPAGE variable to specify the page number where a print

       job starts does not work outside the PRINTJOB ... ENDPRINTJOB

       structure.

       For example, suppose your printer jammed on page 75 of a 100-page

       report and all output from page 75 through 100 was lost. The code to

       re-create the last 25 pages is as follows:

          _PBPAGE=75

          PRINTJOB

          REPORT FORM C:\FOXPRO2\test.FRX ;

             ENVIRONMENT PDSETUP TO PRINT

          ENDPRINTJOB

       If you wanted to print only page 75, then set "_PBPAGE=75" and

       "_PEPAGE=75" in the previous example.

2.  Q. I am having problems printing labels on a laser printer without

       using a printer driver. How can I correct this problem?

    A. Printing labels to a Hewlett-Packard (HP) laser printer without

       using a printer driver requires that certain escape codes be sent to

       the printer before the command to print the labels.

       For example, Avery 5161 or 5261 labels measure 1-by-4 inches. One

       page of labels has two columns of ten labels each. To print this

       label type, execute code similar to the following:

          SET PDSETUP TO

          SET DEVICE TO PRINTER

          ??? CHR(27)+'E'        && Reset

          ??? CHR(27)+'&l8.00C'  && Line height 8/48" (LPI 6)

          ??? CHR(27)+'&l3E'     && Top margin 3 lines

          ??? CHR(27)+'&l56P'    && Page length 60 lines

          SET DEVICE TO SCREEN

          LABEL FORM <labelname> TO PRINTER

          SET PRINTER TO

          SET DEVICE TO SCREEN

       NOTE: The escape code lines that contain an ampersand (&) use a

       lowercase "L", not a number 1.

       In the label generator, use the following settings:

          Margin - 3

          Width  - 34

          Number across - 2

          Height - 6

          Lines between - 0

       The above settings are only an example and may need to be modified

       for specific labels, printers, and applications. For exact escape

       code sequences, see your printer's manual.

3.  Q. I get the error message "Cannot Write to Read-Only File" when

       printing a report. How can I correct this problem?

    A. Given the following circumstances, the error message "Cannot Write

       to a Read-Only File" will occur when you try to print a report from

       within an application (.APP) or an executable (.EXE) program:

        - The resource file is included in the project.

        - The resource is set to the included filename.

        - The REPORT FORM <name> PDSETUP TO PRINT or LABEL FORM <name>

          PDSETUP TO PRINT command is issued.

       There are two ways to avoid this problem:

        - Remove PDSETUP from the command.

          -or-

        - Mark the resource file as excluded and ship it along with the

          .APP or .EXE file.

4.  Q. I get an extra blank line when printing labels. How can I correct

       this problem?

    A. This behavior existed in dBASE III and FoxBASE. It was changed in

       FoxPro version 1.02. However, to maintain compatibility with the

       large installed base of Xbase applications, a design decision was

       made to revert to the original behavior.

       To work around this behavior, print the label form to a file, open

       the file with low-level file functions, remove the carriage

       return/linefeed (CR/LF) characters and send the file to the printer

       using the MS-DOS COPY command. For example:

          * Set the number of lines printed per page and print to a file.

          _PLENGTH=56

          LABEL FORM <form name> ENVIRONMENT PDSETUP TO FILE temp.txt

          * Open file and replace the CR/LF pair with null characters.

          filehand=FOPEN('temp.txt',2)

          =FGETS(filehand)

          =FSEEK(filehand,-2,1)

          =FWRITE(filehand,chr(0)+chr(0))

          =FCLOSE(filehand)

          * Copy the file to printer and prevent the appearance of the

          * MS-DOS screen.

          HIDE WINDOW SAVE ALL

          RUN COPY temp.txt LPT1 > NUL

          SHOW WINDOW ALL

5.  Q. I have NewPage and ResetPage enabled in my data grouping, but my

       page numbering is not reset to 1. How can I correct this problem?

    A. The report has a Bottom Margin setting greater than 0 (zero).

       Set Bottom Margin to 0 and add the necessary lines to the Page

       Footer band. For example, if Bottom Margin is set to 2, reset it to

       0 and add two lines to the Page Footer band.

6.  Q. I get the error message "File ["<File>"] Does Not Exist" when

       printing on a LAN Manager network. How do I correct this problem?

    A. When the program attempts to open a file, it looks in a particular

       directory. If it does not find the file there it tries other

       directories until the file is found. When LAN Manager's "chartime"

       timer (which defaults to 250 milliseconds) expires, it sends a spool

       close message to the workstation, and if the program is in the

       middle of a search for the next file to open, the program exits

       incorrectly with the error mentioned above.

       If the chartime parameter in the LANMAN.INI file for the workstation

       is set to a sufficiently high value, the program will not be

       interrupted by the spool close message and will work correctly.

       In LAN Manager version 2.1, the chartime parameter controls the

       amount of time the spooler waits for additional print data before

       closing the current spool file and printing it. In earlier versions

       of LAN Manager, this parameter controls the amount of time to wait

       for pipe data or comm queue data.

       For more information about the chartime parameter and the LANMAN.INI

       file, refer to the LAN Manager documentation or contact Microsoft

       LAN Manager Product Support Services.

       See also page 225 in the Microsoft LAN Manager "Administrator's

       Reference" for version 2.1.

PART 4: SCREENS

===============

1.  Q. How do I coordinate Browse windows with screens?

    A. Page D2-96 of the FoxPro for Windows "Developer's Guide" and page

       D2-90 of the FoxPro for MS-DOS "Developers Guide" give samples for

       coordinating Browse windows with screens; however, the SAVE clause

       has been omitted from the examples. If the optional BROWSE parameter

       SAVE is omitted, the Browse window will close as soon as any other

       object is clicked.

       To avoid this behavior, change the code examples as follows:

          IF NOT WVISIBLE("Client List")

             BROWSE NORMAL NOWAIT NODELETE LAST TITLE "Client List" ;

                NOAPPEND NOMENU SAVE FIELDS company ;

                WHEN showgets()

          ENDIF

          IF NOT WVISIBLE("Account Details")

             SELECT details

                BROWSE NORMAL NOWAIT NODELETE LAST TITLE "Client List" ;

                   NOAPPEND NOMENU SAVE  ;

                   FIELDS ;

                   Trans_type:10, ;

                   Trans_date:10, ;

                   Amt:7,Service

             SELECT clients

          ENDIF

2.  Q. How can I page through a format file that contains a READ command?

    A. Pressing the PAGE UP and PAGE DOWN keys skips one record at a time,

       forward or backward, in the database and also refreshes the GETs on

       the screen.

       You can place objects on different pages or different screens by

       placing a READ command in the format file. The READ command should

       be placed after the last GET that would appear on each screen. The

       following format file example places two objects on the first screen

       and two more on the second screen. To display the objects that are

       on the next screen, press the PAGE UP or PAGE DOWN key.

          @5,1 GET <var1>

          @6,1 GET <var2>

          READ

          @5,1 GET <var3>

          @6,1 GET <var4>

3.  Q. The Cycle command does not work for desktop screens. How can I

       correct this?

    A. The Cycle command on the Window menu is designed to switch between

       windows defined on the desktop. When a screen set contains several

       windows and a desktop screen, Cycle stops on the desktop screen.

       This is normal behavior, since the Cycle command is intended to be

       used with window screens, not the desktop.

       To work around this behavior, define a window with no borders

       instead of using a desktop screen. This will produce a window that

       looks like the desktop.

       The Cycle command is used for cycling through window screens in a

       screen set or windows defined on the desktop. The shortcut key

       CTRL+F1 can also be used to cycle through windows on the desktop.

Additional reference words: 2.60


INF: FoxPro 2.6 for Windows: Most Frequently Asked Questions

Article ID: Q112568

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

This article contains answers to frequently asked questions about Microsoft

FoxPro version 2.6 for Windows. This article is divided into four sections:

   Installation

   Cross-Platform

   Screen Builder

   Printer Drivers

PART 1: INSTALLATION

====================

1.  Q. What are the minimum files required to run FoxPro?

    A. Not all files placed on the hard disk during installation of FoxPro

       are absolutely required for operation of the product.

       The minimum files needed to run FoxPro 2.6, use the menu and screen

       generators, and set printer drivers are listed below.

       NOTE: Upon startup, FoxPro will create FOXUSER.DBF and FOXUSER.FPT

       files, and upon screen or menu generation, it will create the

       appropriate .FXP files.

          Filename         Bytes      Comments

          -------------------------------------------------------------

          FOXPROW.EXE    2498282

          TRANSPRT.PRG    390203      Only needed if you are converting

                                      files from FoxPro 2.0 for

                                      MS-DOS or want to create cross-

                                      platform applications.

          GENSCRN.PRG     292613

          GENPD.APP       374351

          FOXTOOLS.FLL     58530

          GENMENU.PRG      57019

          PSAPI.FLL        27668

          DRIVER2.FLL      17876

          GENXTAB.PRG      29246

          RESERVED.FLL     12764

PART 2: CROSS-PLATFORM

======================

1.  Q. Why doesn't my low-level file I/O program work in FoxPro for

       Windows?

    A. FoxPro for Windows cannot access the COM ports with the low-level

       file commands.

       This fact is mentioned in the documentation for the FOPEN() command,

       but many people who are accustomed to opening a port in FoxPro for

       MS-DOS may test this function and think it doesn't work correctly.

       This behavior is not a bug--it is part of the product's design. In

       the Windows multitasking environment, other applications besides

       FoxPro may also be using the COM ports. Therefore, it is not

       desirable to allow a Windows-based application to take exclusive

       control of the communications port.

       Access to the COM port is provided through FOXTOOLS.FLL and the

       Windows API calls. For an example of how to use the COM port under

       the Windows environment, see the DIALER.PRG file in the

       FOXPROW\GOODIES\FOXTOOLS subdirectory.

       The use of the REGFN() and CALLFN() functions is documented in the

       FOXTOOLS.WRI file in the same directory as the DIALER.PRG example.

       For information about specific API calls, refer to the Windows

       Software Development Kit (SDK) documentation.

PART 3: SCREEN BUILDER

======================

1.  Q. How do I coordinate Browse windows with screens?

    A. Page D2-96 of the FoxPro for Windows "Developer's Guide" and page

       D2-90 of the FoxPro for MS-DOS "Developers Guide" give samples for

       coordinating Browse windows with screens but omit the SAVE clause in

       the example. If the optional BROWSE parameter SAVE is omitted, the

       Browse window will close as soon as any other object is clicked.

       The code examples should be changed to read as follows:

          IF NOT WVISIBLE("Client List")

             BROWSE NORMAL NOWAIT NODELETE LAST TITLE "Client List" ;

                NOAPPEND NOMENU SAVE FIELDS company ;

                WHEN showgets()

          ENDIF

          IF NOT WVISIBLE("Account Details")

             SELECT details

                BROWSE NORMAL NOWAIT NODELETE LAST TITLE "Client List" ;

                   NOAPPEND NOMENU SAVE  ;

                   FIELDS ;

                   Trans_type:10, ;

                   Trans_date:10, ;

                   Amt:7,Service

             SELECT clients

          ENDIF

2.  Q. Are the keyboard shortcuts for the FoxPro for Windows Screen Builder

       documented?

    A. FoxPro for Windows requires a mouse. In a graphical environment such

       as Windows, the mouse provides a more effective means of locating

       and/or moving objects than the keyboard does.

       To complete the transition from designing with the keyboard to

       designing with the mouse, icons have been added for every tool in

       the Screen Builder. These icons take the place of the menu shortcuts

       that exist in FoxPro for MS-DOS.

PART 4: PRINTER DRIVER QUESTIONS

=================================

1.  Q. How do I use @ ... SAY Commands and control codes to print in FoxPro

       for Windows?

    A. FoxPro for Windows cannot send control codes directly to a printer

       using a Windows printer driver. There are two techniques you can use

       to work around this:

        - Open the printer in "raw mode," bypassing the Windows printer

          driver and communicating directly with the printer.

          -or-

        - Write all output to a text file, then copy the text file to a

          printer port.

       Writing FoxPro for Windows programs that send control codes directly

       to a printer is not normally recommended. Only use these techniques

       when adapting existing FoxPro for MS-DOS code that sends control

       codes to the printer.

       The following examples send control codes to switch an Epson FX-80

       dot-matrix printer's compressed mode on and off.

       NOTE: When using these techniques, do not use any of the ? or ??

       commands for output. Only use @ ... SAY commands.

       Technique 1: Open the Printer in Raw Mode

       -----------------------------------------

       There are two ways to open the printer in raw mode:

        - Use the ??? " " command.

          -or-

        - Use the SET PDSETUP TO <driver name> command.

       Use the ??? " " Command:

       Issue SET DEVICE TO PRINT and SET PRINTER TO commands to turn off

       all open print commands.

       Issue a ??? " " command to open the printer in raw mode.

       Issue @ ... SAY commands to send control codes and text to the

       printer.

       After printing, issue a SET PRINTER TO command to flush the print

       buffer and return control to the Windows printer driver.

       The following code demonstrates these steps:

          SET DEVICE TO PRINT

          SET PRINTER TO

          ??? " "

          @ 1,0 SAY 'NORMAL TEXT'

          @ 2,0 SAY CHR(15) && Control code to turn compressed mode on

          @ 2,0 SAY 'CONDENSED text?'

          @ 3,0 SAY CHR(18) && Control code to turn compressed mode off

          @ 3,0 SAY 'NORMAL again'

          SET DEVICE TO SCREEN

          SET PRINTER TO

       NOTE: In some circumstances, the last @ ... SAY command may not

       print. If this problem occurs, add an additional @ ... SAY command

       that prints a blank line (so that the lost line is just a blank).

       Use the SET PDSETUP TO <Driver Name> Command:

       Issue a SET PRINTER TO command to clear the print buffer of all open

       print commands.

       Issue a SET PDSETUP TO <driver name> command to open the printer in

       raw mode. You MUST already have an existing FoxPro 2.0, 2.5, or 2.6

       for MS-DOS printer driver in the current resource file.

       NOTE: The important property of this command is that setting a

       FoxPro for MS-DOS printer driver opens the printer in raw mode. The

       printer driver itself is not used to control printing (that is done

       though control codes). In fact, any FoxPro for MS-DOS printer driver

       can be used.

       Issue a SET DEVICE TO PRINTER command to direct the @ ... SAY

       commands to the printer.

       Issue @ ... SAY commands to send control codes and text to the

       printer.

       After printing, issue a SET DEVICE TO SCREEN command to redirect the

       output to the screen.

       Issue a SET PRINTER TO command to flush the print buffer and return

       control to the Windows printer driver.

       The following code demonstrates these steps:

          SET PRINTER TO

          SET PDSETUP TO "Epson"

          SET DEVICE TO PRINT

          @ 1, 0 SAY 'NORMAL text'

          @ 2, 0 SAY  CHR(15) && Control code to turn compressed mode on

          @ 2, 0 SAY  'CONDENSED text'

          @ 3, 0 SAY  CHR(18) && Control code to turn compressed mode on

          @ 3, 0 SAY 'normal again'

          SET DEVICE TO SCREEN

          SET PRINT TO

       Technique 2: Write to Text File and Copy to Printer Port

       --------------------------------------------------------

       Issue a SET DEVICE TO FILE <filename> command to direct output to a

       file.

       Issue @ ... SAY commands to send control codes or text to the

       printer.

       Issue a SET DEVICE TO SCREEN command to redirect output to the

       screen.

       Issue a SET SAFETY OFF command so FoxPro for Windows does not

       confirm copying the output file to the printer port (which it

       believes to be a file).

       Issue a COPY FILE <filename> TO <printer port>.DOS command to copy

       the output file to the printer port.

       Issue a SET SAFETY ON command to turn safety on again.

       The following code demonstrates these steps:

          SET DEVICE TO FILE output.prn

          @ 1,0 SAY 'NORMAL text'

          @ 2,0 SAY CHR(15) && Control code to turn compressed mode on

          @ 2,0 SAY 'CONDENSED text'

          @ 3, 0 SAY CHR(18) && Control code to turn compressed mode off

          @ 3, 0 SAY 'Back to normal text'

          SET DEVICE TO SCREEN

          SET SAFETY OFF

          COPY FILE output.prn TO lpt1.dos

          SET SAFETY ON

       When Windows prints to a file named LPT1.DOS, MS-DOS interprets the

       request to open the file LPT1.DOS as a request to send data to the

       printer port, and it sends the data out through its own printing

       handler. Because Windows thinks that LPT1.DOS is an MS-DOS file, the

       Print Manager is not used.

2.  Q. How can I edit an existing MS-DOS-style printer driver or create a

       new one?

    A. In FoxPro for Windows, the SET PDSETUP TO <driver_name> command

       selects only an existing MS-DOS-style printer driver. It cannot edit

       an existing MS-DOS-style printer driver or create a new one.

       To use the SET PDSETUP TO <driver_name> command in FoxPro for

       Windows, the current resource file (by default FOXUSER.DBF and its

       associated memo file, FOXUSER.FPT) must already have an MS-DOS-style

       printer driver loaded. This MS-DOS-style printer driver must have

       been previously created by FoxPro for MS-DOS.

       FoxPro for Windows normally uses Windows printer drivers for all of

       its printing. Windows printer drivers are modified through the

       Windows Control Panel.

       Only use the SET PDSETUP TO <driver_name> command with character-

       based reports that were created in FoxPro for MS-DOS.

       NOTE: The SET PDSETUP <driver_name> command has no effect on Windows

       printer drivers.

3.  Q. How can I invoke the Windows Printer Driver Setup dialog box from a

       program?

    A. There are two methods to invoke the Windows Printer Driver Setup

       dialog box:

        - The first method is to use the new function SYS(1037).

          SYS(1037) is for use in FoxPro for Windows only. SYS(1037)

          displays the Print Setup dialog box, allowing you to make

          adjustments to printer settings such as the paper size and

          orientation. The settings you can adjust in this dialog box

          depend on the printer driver you've installed. You can also

          choose Print Setup from the File menu to display the FoxPro Print

          Setup dialog box.

          NOTE: SYS(1037) always returns a null string.

        - The second method is to use a RUN command. The following example

          illstrates this:

             RUN /N control printers

          NOTE: This command will not work with Windows version 3.0. For

          example, the RUN /N CONTROL.EXE PRINTERS command will only run

          the Control Panel in Windows 3.0; it will not open the Printer

          Setup dialog box.

Additional reference words: 2.60


PRB: Pressing BACKSPACE Key Deletes Entire Contents of Field

Article ID: Q112598

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

When a screen is run, if you press the BACKSPACE key when you first move

the cursor to a GET field, the entire contents of the field are deleted.

Some users may regard this as unexpected behavior because pressing the

BACKSPACE key generally moves the cursor back one space or returns the

cursor to the previous field.

CAUSE

=====

The Select Field On Entry check box in the Screen Builder is selected for

the GET object.

RESOLUTION

==========

To keep the BACKSPACE key from deleting the entire field, clear the Select

Field On Entry check box for the GET object.

Additional reference words: 2.50 2.50a 2.50b whole all


INF: How to Hide Deactivated Screens in a Screen Set

Article ID: Q112599

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

When you are generating a screen set with multiple screens in the Screen

Builder, you may want to hide the deactivated screens until they are

needed. If the other screens are not hidden, they will appear on the

desktop unless the activated window is large enough to keep them from being

seen. Below is the code needed to hide any two deactivated screens of a

three-window screen set.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

 1. Create a screen called SCR_ONE.

 2. From the Screen menu, choose Layout. In the Name box, type "firstscr"

    (without quotation marks). If you are using FoxPro for Windows or

    Macintosh, click the Code button, and then click On Window Activate.

    If you are using FoxPro for MS-DOS, select the Activate check box. In

    this box, type:

       HIDE WINDOW secondscr

       HIDE WINDOW thirdscr

 3. From the Screen menu, choose Layout. If you are using FoxPro for

    Windows or Macintosh, click the Code button again and click the Screen

    Setup Code button. If you are using FoxPro for MS-DOS, click the Setup

    check box. Type the following code:

       abc=.F.

    This variable will be used to keep SCR_ONE from being hidden when

    the program starts up.

 4. Create a push button with the prompts "SCREEN2" and "SCREEN3" (without

    quotation marks). Give it the variable name "m.scr1" (without

    quotation marks). In the VALID clause of the push button, type this

    code:

       DO CASE

         CASE m.scr1 = 1

           _CUROBJ=OBJNUM(m.scr2)

         CASE m.scr1 = 2

           _CUROBJ=OBJNUM(m.scr3)

       ENDCASE

       abc=.T.

 5. Create a screen called SCR_TWO.

 6. Repeat step 2, and in the Name box type "secondscr" (without quotation

    marks). In the Activate box, type:

       IF abc =.T.

         HIDE WINDOW firstscr

       ENDIF

       HIDE WINDOW thirdscr

 7. Create a push button with the prompts "SCREEN1" and "SCREEN3" (without

    quotation marks). Give it the variable name "m.scr2" (without

    quotation marks). In the VALID clause of the push button, type this

    code:

       DO CASE

         CASE m.scr2 = 1

           _CUROBJ=OBJNUM(m.scr1)

         CASE m.scr2 = 2

           _CUROBJ=OBJNUM(m.scr3)

       ENDCASE

 8. Create a screen called SCR_THRE.

 9. Repeat step 2, and in the Name box, type "thirdscr" (without quotation

    marks). In the Activate box, type:

       IF abc =.T.

         HIDE WINDOW firstscr

       ENDIF

       HIDE WINDOW secondscr

10. Create a push button with the prompts "SCREEN1" and "SCREEN2" (without

   quotation marks). Give it the variable name "m.scr3" (without quotation

   marks). In the VALID clause of the push button, type this code:

        DO CASE

          CASE m.scr3 = 1

            _CUROBJ=OBJNUM(m.scr1)

          CASE m.scr3 = 2

            _CUROBJ=OBJNUM(m.scr2)

        ENDCASE

11. Bring up SCR_ONE, and choose Generate from the Program menu. Add

   SCR_TWO and SCR_THRE to the screen set, and then generate the set.

12. In the Command window, type "do scr_one.spr" (without quotation marks).

The screens will flash up one at a time. In FoxPro for Windows or

Macintosh, this flashing may be more noticeable than it is FoxPro for

MS-DOS; nothing can be done about it. SCR_ONE will settle on the screen

along with the SCREEN2 or SCREEN3 push buttons. If you choose one of these

push buttons, SCR_ONE will be hidden and whichever screen is chosen will

appear.

Additional reference words: 2.00 2.50 2.50a 2.50b


PRB: Lines Overlap or Overwrite Each Other (FoxPro for MS-DOS)

Article ID: Q112601

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When you are printing from FoxPro for MS-DOS, the lines of output overlap

or overwrite each other.

CAUSE

=====

In the Fonts section of the Printer Setup dialog box, the number of points

specified for the Leading value is too small.

RESOLUTION

==========

Increase the number of points specified for the Leading value. The Leading

points value specifies the leading (the space between lines) for the entire

document when a PostScript, Hewlett-Packard (HP) LaserJet IIIsi, or HP

LaserJet III is chosen.

Additional reference words: 2.00 2.50 2.50a 2.50b black lj


PRB: FPD SAVE SCREEN .MEM Files Display Improperly in FPW

Article ID: Q112611

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

The SAVE SCREEN command stores a screen image in a .MEM file. If you

execute this command in FoxPro for MS-DOS and issue the RESTORE FROM

command in FoxPro for Windows, the image does not display properly.

CAUSE

=====

FoxPro has no way of translating the MS-DOS character-based screen image

into a bitmap image for Windows.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

In FoxPro for MS-DOS, type the following commands in the Command window:

   @10,10 say "HELLO"

   SAVE SCREEN TO scrn

   SAVE ALL LIKE scrn TO scrnfile

Quit FoxPro for MS-DOS and load FoxPro for Windows. Type the following

commands in the Command window:

   RESTORE FROM scrnfile

   RESTORE screen FROM scrn

The image appears as a small colored rectangle in the upper-left corner of

the screen.

Screen image files must be created and saved in the same FoxPro platform as

the platform on which they will be displayed.

For more information, please see the following article in the Microsoft

Knowledge Base:

   ARTICLE-ID: Q106281

   TITLE     : PRB: RESTORE WINDOW Does Not Restore Completely

Additional reference words: 2.50 2.50a 2.50b


PRB: SQL - SELECT with TRIM() Doesn't Trim Field Results

Article ID: Q112701

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When you use the SELECT command with the TRIM(), ALLTRIM(), or RTRIM()

functions, the result is not trimmed.

CAUSE

=====

When you include ALLTRIM(), TRIM(), or RTRIM() on a field or expression in

the projection list, FoxPro cannot return to you a variable-length field

(which is what it is being asked to do). Instead, it creates a column that

is the length of the trimmed expression in order to prevent data loss.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

The following code demonstrates how the SELECT command treats a trimmed

field or expression. This example uses the ALLTRIM() function.

   CLEAR ALL

   CLEAR

   CREATE TABLE testdbf ;

      (dbfname C(8),field C(10), type C(1), ;

      length N(3), precision N(2))

   INSERT INTO testdbf ;

      (dbfname,field,type,length,precision) ;

      VALUES ("test","testfld","C",10,0)

   *\\ SELECT does not respect the ALLTRIM().

   SELECT ALLTRIM(dbfname), field, type, length, precision ;

          FROM testdbf INTO ARRAY test

   DISPLAY MEMORY LIKE test

   *\\ SELECT does not respect the TRIM for the LEN

   *\\ of the field contents.

   SELECT SUBSTR(dbfname,1,LEN(TRIM(dbfname))), field, ;

          type, length, precision ;

          FROM testdbf INTO ARRAY test

   DISPLAY MEMORY LIKE test

   *\\ SELECT respects the hard-coded number for the length

   *\\ of the field contents.

   SELECT SUBSTR(dbfname,1,4), field, type, length, precision ;

          FROM testdbf INTO ARRAY test

   DISPLAY MEMORY LIKE test

   *\\ SELECT respects the variable that has pretrimmed the

   *\\ field contents.

   m.tablename = SUBSTR(dbfname,1,LEN(TRIM(dbfname)))

   SELECT m.tablename, field, type, length, precision ;

          FROM testdbf INTO ARRAY test

   DISPLAY MEMORY LIKE test

Additional reference words: 2.00 2.50 2.50a 2.50b SQL


PRFOX: Cannot Reference SQL-SELECT Cursor Name in FoxPro 2.0

Article ID: Q112702

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.0

--------------------------------------------------------------------

SYMPTOMS

========

In FoxPro 2.0 for MS-DOS, a cursor created using the SQL - SELECT command

can have a name beginning with a numeric character. However, you cannot

reference the cursor by the name you gave it.

CAUSE

=====

You cannot reference the cursor because the numbers in the cursor name

conflict with the numbers of the work areas.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro version 2.0 for

MS-DOS. This problem was corrected in FoxPro version 2.5 for MS-DOS.

MORE INFORMATION

================

This problem occurs because FoxPro 2.0 for MS-DOS accepts anything that

looks like a filename and then assigns an alias to it. The error checking

in FoxPro 2.5 and later versions has been improved to better handle this

situation.

For additional information, please see the following article in the

Microsoft Knowledge Base:

   ARTICLE-ID: Q95723

   TITLE     : INF: Syntax Error on SELECT Statement Using SYS(3)

Additional reference words: 2.00 buglist2.00 fixlist2.50


PRB: "Cannot Modify Attributes" with SETUP /A on Novell 3.11

Article ID: Q112703

   WARNING: The information in this article has not been confirmed or

   tested by Microsoft. Some or all of the information in this article has

   been taken from unconfirmed customer reports. ANY USE BY YOU OF THE

   INFORMATION PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft

   provides this information "as is" without warranty of any kind, either

   express or implied, including but not limited to the implied warranties

   of merchantability and/or fitness for a particular purpose.

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5

--------------------------------------------------------------------

SYMPTOMS

========

When you are installing FoxPro for Windows on a Novell NetWare version 3.11

server with the SETUP /A (administrative install) option, FoxPro produces

the following error message:

   Cannot modify attributes on file FOXPROW.EXE.

This error occurs with the second floppy disk after the installation has

copied the FOXPROW.EXE file to the server. If you verify the file

attributes using the Windows File Manager, you will see that the file

attribute is set to read-only. If you change the attribute on the

FOXPROW.EXE file to read-write and attempt to continue the installation,

the error message displays again.

CAUSE

=====

The rights attribute of the FOXPROW.EXE file has been reset to read-only.

RESOLUTION

==========

This is a permissions problem. To determine what permissions you have, type

"rights" (without the quotation marks) at the MS-DOS prompt for the

directory into which you are attempting to install FoxPro. You must have

R(ead) W(rite) C(reate) D(elete) rights. You might also need O(pen) rights

in order to change the attributes of the FOXPROW.EXE file.

MORE INFORMATION

================

NetWare is manufactured by Novell, a vendor independent of Microsoft; we

make no warranty, implied or otherwise, regarding this product's

performance or reliability.

Additional reference words: 2.50 errmsg err msg setup diskette


INF: Date of .EXE Is Date of Decompression Not Date of Build

Article ID: Q112729

-----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

-----------------------------------------------------------------------

SUMMARY

=======

The date and time of an executable built with FoxPro for Windows is the

date and time of decompression, not the date and time the executable was

created.

MORE INFORMATION

================

When SETUP.EXE is run at the installation site, it decompresses the

executable built with FoxPro for Windows and assigns it the current date

and time. Therefore, it is not possible to track executable versions by

date and time.

Additional reference words: 2.50 2.50a 2.50b uncompress expand


PRB: Color Pair Listing in Online Help File Incorrect

Article ID: Q112764

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

The online Help file listing for color pair 2 (GET field) of color scheme 1

(User-Defined Windows), incorrectly states that FoxPro uses the Window

Text/Application Workspace colors. In fact, color pair 2 uses the Button

Text/Button Face colors.

Additional reference words: 2.50 2.50b 2.50b colour docerr display


PRB: SQL Cursor Name with Blanks Causes "Invalid Name"

Article ID: Q112776

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Sending output from the RQBE window to a cursor whose name contains a blank

causes the following error message:

   Invalid name

CAUSE

=====

Cursors are alias names, which cannot contain blanks.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Although Macintosh files can contain blanks, aliases cannot.

An alias can consist of up to 10 letters, digits, or underscores and it

must begin with a letter or an underscore.

Steps to Reproduce Behavior

---------------------------

1. Assuming FoxPro is installed in a folder (directory) named "FoxPro/Mac"

   and the volume (drive) name is "Macintosh HD", type the following

   command in the Command window:

      USE "Macintosh HD:\FoxPro/Mac\Tutorial\Customer"

2. From the Run menu, choose New Query.

3. In the Output list box, select Cursor.

4. In the Name text box, type "My Query" (without the quotation marks).

5. Choose Do Query.

REFERENCES

==========

"Language Reference," version 2.5, page 19

Additional reference words: 2.50b errmsg err msg structured query

language spaces


INF: Long Filenames in FPM Truncated to First 10 Characters

Article ID: Q112788

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

On the Macintosh platform, filenames can be more than 10 characters long.

For example:

  DO thisisalongname && FoxBASE+ will run "thisisalongname.prg"

However, FoxPro for Macintosh automatically truncates long filenames to the

first 10 characters.

MORE INFORMATION

================

To allow for compatibility between the Macintosh, Windows, and MS-DOS

platforms, FoxPro for Macintosh is designed to truncate long filenames for

programs (that is, .PRG, .MPR, .SPR, and so on) to the first 10 characters.

FoxPro can take advantage of long program names in the Macintosh platform

if the long program name is in quotation marks or if an extension is

specified with the long program name. For example, FoxPro will use the long

program names in the following DO commands:

   DO thisisalongname.prg

   -or-

   DO "thisisalongname"

This design extends to long procedure names as well. Long procedure names

are also treated as significant to the first 10 characters. During a

search, if a long name is not resolved as a procedure, FoxPro for Macintosh

will search the disk for a program with that name.

NOTE: Applications or programs created in FoxBASE+ for the Macintosh will

most likely contain DO <long filename> commands without quotation marks or

extensions after the program name because FoxBASE+/Mac is designed to

accept long filenames and does NOT truncate them.

Additional reference words: 2.50b long file names over length cut off

shorten


INF: Error in Quick Report Saving Procedure in Getting Started

Article ID: Q112791

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Step 5 on page 42 of the "Getting Started" manual incorrectly instructs the

user regarding how to enter a path and filename in a dialog box in order to

save a quick report. By following these instructions, the user will receive

an "Invalid path or filename" error when the query is run.

MORE INFORMATION

================

FoxPro for Macintosh requires that a directory delimiter be the leading

character when it is accessing files that reside at a level below the

current default folder. For example, the following commands will yield a

"File 'tutorial:customer.dbf' does not exist" error:

   SET DEFAULT TO SYS(2004)

   USE tutorial:customer

To avoid this error, change the commands to the following:

   SET DEFAULT TO SYS(2004)

   USE :tutorial:customer

Additional reference words: 2.50b docerr


ERR: "SQL Column '<Memvar>' Not Found" and Empty RQBE Window

Article ID: Q112837

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When you are opening or modifying a previously saved query, the error

message "SQL Column '<variable name>' Not Found" appears. After the error

message is displayed, the query will open, but everything except the

table(s) used will be lost (including selected fields and WHERE

conditions).

CAUSE

=====

This behavior is caused by referring to a variable in a query and then

opening or modifying the query when the variable is not in memory.

RESOLUTION

==========

Make sure the variable is defined in memory before opening or modifying the

query. Make sure not to save the changes to the query after it opens up

empty. The error message will indicate the variable that needs to be in

memory.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Type x="CA" in the FoxPro command window.

2. USE the SALESMAN database found in the TUTORIAL subdirectory.

3. Create a new query using the RQBE window.

4. Set up the Selection Criteria as follows:

      Field Name: Salesman.state

      Operator: LIKE (the default)

      Example: x

5. Run the query to make sure it works. It should select four records

   if the SALESMAN database has not been modified since installation.

6. Save and close the query.

7. In the command window, type "RELEASE x" (without the quotation marks).

8. Open or modify the query. The error message "SQL column 'x' not found"

   will be displayed.

   Clicking the error message will clear the message and the query will

   open with only the table(s) used remaining. The information under

   Selection Criteria, Selected Fields, Order By, Group By, and Having will

   be cleared.

9. Don't save the empty query. If you do, the missing information will be

   permanently lost.

If the variable or variables used in the query are restored, the query will

open correctly.

Additional reference words: 2.00 2.50 2.50a 2.50b missing errmsg err msg


INF: How to Dynamically Change the Page Length of a Report

Article ID: Q112838

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Often it is necessary to change the page length of a report dynamically,

without editing the report in the Report Writer. You can do this

programmatically, as demonstrated below.

MORE INFORMATION

================

The .FRX (report) file is a database file that can be modified. The page

length is stored in the HEIGHT field of this database in the record where

the report information is stored. This record can be found by searching for

OBJTYPE = 1. For example:

   USE reportname.frx

   IF printer = "laser"

      && The test for platform = "DOS" is for 2.5 reports only

        LOCATE FOR platform = "DOS" .AND. objtype = 1

        REPLACE height WITH 60

   ELSE

        LOCATE FOR platform = "DOS" .AND. Objtype = 1

        REPLACE height WITH 66

   ENDIF

   USE

   REPORT FORM reportname.frx TO PRINTER

If the report is included in an .EXE or .APP file, it will be read-only. To

modify the report, you must copy it to disk first. For example:

   USE reportname.frx

   COPY TO test.frx

   USE test.frx

   IF printer = "laser"

      && The test for platform = "DOS" is for 2.5 reports only

               LOCATE FOR platform = "DOS" .AND. objtype = 1

      REPLACE height WITH 60

   ELSE

               LOCATE FOR platform = "DOS" .AND. Objtype = 1

      REPLACE height WITH 66

   ENDIF

   USE

   REPORT FORM test.frx TO PRINTER

   oldsaf = SET("SAFETY")

   SET SAFETY OFF

   ERASE test.frx

   ERASE test.frt

   SET SAFETY &oldsaf

NOTE: Do not place the TEST.FRX file in the project. If you do, it will

cause the error message "Test.frx could not be found" and you will then be

given the option to locate the file. In this case, you must choose the

Ignore button in order to proceed without further errors.

Additional reference words: 2.50 2.50a 2.50b 2.00r


INF: How to Index on Numbers in a Character Field

Article ID: Q112839

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

If a character field is made up of numbers and the database is indexed on

this field, the numbers are not in the expected order.

NOTE: This article assumes that all numbers must be positive.

CAUSE

=====

In character fields, each character is evaluated one at a time from left to

right. Therefore, the order may not match that of a numeric field.

RESOLUTION

==========

To get the character field in numerical order, you must create an index key

using the PADL() function. The PADL() function will put a character to the

left of the character expression in order to make the digits right aligned.

Example

-------

1. In your database, create a character field called IDNUM that has a width

   of 10 and is composed entirely of numbers.

2. In the Command window, type:

      INDEX ON PADL(ALLTRIM(IDNUM),10,"0") TAG IDSORT

   This command will create a tag call IDSORT that will shift all the

   characters to the right as far as the length of the field.

3. In the Command window, issue the following command in order to index the

   database on the IDSORT tag:

      SET ORDER TO TAG IDSORT

The order of IDNUM will now emulate that of a numeric field.

MORE INFORMATION

================

To illustrate the behavior described in the "Symptoms" section above,

suppose you have a character field called IDNUM that has a width of 10 and

is made up of all numbers. The following table shows how the numbers will

be ordered.

   IDNUM order      IDNUM order when table

   on input         is indexed on IDNUM

   ---------------------------------------

        2                    1

        30                   10

        1                    12

        10                   122

        12                   2

        200                  200

        122                  30

The numbers that begin with "1" will come first, then the numbers that

begin with "2", and so on because the index expression is evaluated based

on one character at a time rather than on the whole numeric expression.

Additional reference words: 1.02 2.00 2.50 2.50a 2.50b


PRB: Sort Order in Dialog Boxes Differs Between Platforms

Article ID: Q112855

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

The file sort order for FILER, GETDIR(), GETFILE(), LOCFILE(), and

PUTFILE() is inconsistent between FoxPro for MS-DOS and Macintosh and

FoxPro for Windows.

To demonstrate this behavior, create files or directories with the

following names:

   1TEST, ATEST, _TEST, !TEST

FoxPro for MS-DOS and Macintosh will display the list in the following

order:

   !TEST, 1TEST, ATEST, _TEST

FoxPro for Windows will display the list in this order:

   !TEST, 1TEST, _TEST, ATEST

STATUS

======

Microsoft is researching this problem and will post new information here in

the Microsoft Knowledge Base as it becomes available.

Additional reference words: 2.50 2.50a 2.50b 2.60


PRB: FoxPro for Windows Cannot Use GetMenuString() Function

Article ID: Q112856

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

You cannot use the standard GetMenuString() Windows API function call to

get the text string in a FoxPro for Windows menu.

CAUSE

=====

FoxPro for Windows does not make calls to the Windows GetMenuString()

function. It maintains the system menus by means of external menu

callbacks. Therefore, there is no need to use GetMenuString(). Moreover,

you do not even have access to the hMenu handle necessary to call this

function. The FoxPro system menus are built dynamically and can change

often.

STATUS

======

This behavior is by design.

Additional reference words: 2.50 2.50a 2.50b lck winsdk library

construction kit


INF: How to Send Multiple Mail Messages with FoxPro Extensions

Article ID: Q113003

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

The FoxPro Extensions that come with the Workgroup Templates enable FoxPro

developers to tap into the mail messaging API (MAPI) and the Microsoft

Schedule+ API (SPLUS). Below is an example of how to send multiple mail

messages in FoxPro for Windows when the addressee information, subject

line, and message come from a database.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

The FoxPro Extensions come with FOXMAPI.FLL, MAPILIB.PRG, and MAPIERR.PRG.

FOXMAPI.FLL is a dynamic-link library (DLL) that is the interface between

FoxPro and MAPI.DLL and SPLUS.DLL. MAPILIB.PRG is a file containing

procedures that make calls to functions in FOXMAPI.FLL (instead of calling

the functions in FOXMAPI.FLL directly, parameters can be passed to

MAPILIB.PRG, which provides additional error checking). MAPIERR.PRG is

called by MAPILIB.PRG if an error condition occurs while a procedure in

MAPILIB.PRG is being executed.

For more information about the functions used in this example, examine

MAPILIB.PRG to find the function that is called in MAPILIB.PRG and then see

what function MAPILIB.PRG calls in FOXMAPI.FLL. The Help file located in

C:\WGTPLATE\APPENDIX\FOXPRO\FOXMAPI.HLP explains what the functions in

FOXMAPI.FLL do. Additional support is available on CompuServe in the LCK

section of the FOXFORUM.

For the following example to work, you must have the FOXMAPI.FLL,

MAPILIB.PRG, and MAPIERR.PRG files. MAPILIB.PRG and MAPIERR.PRG should be

in the same directory as the program below.

The program below sends a mail message for each record in the MAILDAT.DBF

file. The structure of the MAILDAT.DBF file is as follows:

   Field     Field name      Type         Width

   --------------------------------------------

     1       TONAMES         Character      20

     2       SUBJECT         Character      60

     3       NOTETEXT        Character     254

The TONAMES field contains the addressee's e-mail name, the SUBJECT field

contains the text for the subject line, and the NOTETEXT field contains the

message to be sent.

Program Example

---------------

   CLOSE ALL

   USE maildat

   SET LIBRARY TO foxmapi.fll

   ** MAPILIB.PRG and MAPIERR.PRG must be in the same directory

   ** as this program for things to work properly.

   ** MAPILIB.PRG calls FOXMAPI.FLL.

   ** Log on to mail.

   msession=MAPILIB('LOGON')

   * Continue until the end of the MAILDAT file is reached.

   DO WHILE NOT EOF()

      ** Get Info To Send by doing a SCATTER MEMVAR.

      ** m.tonames- The e-mail name of the person the message is

      ** addressed to.

      ** m.subject- The subject line of the e-mail message.

      ** m.notetext- The text of the e-mail message.

      SCATTER MEMVAR

      ** Create mapiRecip cursor.

      ** Resolve name.

      =MAPILIB('resolve',msession,m.tonames)

      ** Send message.

      =MAPILIB('newcursor','mapiFile')

      =MAPILIB('newcursor','mapiMesg')

      INSERT INTO mapimesg VALUES(0,m.subject,m.notetext,'IPM.',;

         MAPILIB('getdate'),'',0,RECCOUNT('mapiRecip'),0)

      retval=mapilib("sendmail",msession,"mapiMesg","mapiRecip",;

         "mapiFile",0)

      * Close cursors.

      SELECT mapiFile

      USE

      SELECT mapiMesg

      USE

      SELECT mapiRecip

      USE

      SELECT maildat

      * Go to the next record and send the next mail message.

      SKIP 1

   ENDDO

   ** Log off and clean up.

   ** Logging off by directly calling the mplogoff function in

   ** FOXMAPI.FLL.

   =mplogoff(msession,0,0,0)

   CLEAR ALL

   CLOSE ALL

   RELEASE ALL

   SET LIBRARY TO

   ** END OF PROGRAM

Additional reference words: 2.50 2.50a 2.50b email electronic mail


INF: How to Hide Password and Show Entry Position in FoxPro

Article ID: Q113011

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

To prevent a password from being displayed during entry and to show the

current editing position as well, a certain character can be echoed to the

screen in place of the actual password characters, as demonstrated in the

code below.

MORE INFORMATION

================

The following code, when placed in a program, will accept up to the number

of characters specified in the variable PWLEN, allowing corrections with

the BACKSPACE key. This value can be changed to allow fewer or greater

characters in the password (minimum=1 character). If no characters are

input or if all the characters have been previously deleted, the BACKSPACE

key will be ignored when pressed. Attempting to enter more than the maximum

number of characters will ring the bell to indicate that no more characters

can be accepted; the additional characters will be ignored.

The variable W contains the character that will be echoed to the screen

during entry. This value can be any ASCII character, although the asterisk

(*), number sign (#), hyphen (-), or period (.) is most commonly used for

this purpose.

NOTE: The FONT clause in this code example will be ignored in FoxPro 2.5x

for MS-DOS, but must be removed if used with prior versions.

The ENTER key is required to terminate entry of the password, even if the

maximum number of characters are used, in order to allow editing of the

last character entered. This mimics the SET CONFIRM ON command option with

FoxPro which prevents the user from typing through the end of a field

accidentally.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either expressed or implied, including but not limited to the implied

warranties and merchantability and/or fitness for a particular purpose.

Code Example

------------

   *-------------- password code within a program

   CLEAR

   CLEAR ALL

   SET TALK OFF     && Prevents "double" echoing to the screen

   STORE '' TO x,y     && Initialize variables to a null value

   z=0               && Initialize INKEY variable to null character

   pwlen=10     && Maximum characters permitted in password

   w='*'          && Character used for display as placeholder

   * Display empty pseudo-GET field

   @2,2 SAY PADR(y,pwlen) FONT 'FoxFont',9 COLOR N/BG*

   DO WHILE z<>13

        z=INKEY(0,'H')     && 0=wait indefinitely, H=hide cursor

        * Check for exit by ENTER key press

        IF z=13

             EXIT

        ENDIF

        xlen=LEN(x)

        * Check for BACKSPACE while characters still left

        IF z=127

             IF xlen=0

                  LOOP

             ENDIF

             x=LEFT(x,xlen-1)

             y=LEFT(y,xlen-1)

        ELSE

             * If max, wait for ENTER (CONFIRM=ON effect)

             IF xlen=pwlen

                  ?? CHR(7)     && Ring the bell

                  LOOP

             ENDIF

             x=x+CHR(z)

             y=y+w

        ENDIF

        @2,2 SAY PADR(y,pwlen) FONT 'FoxFont',9 COLOR N/BG*

   ENDDO

Additional reference words: 2.50 2.50a 2.50b mask encrypt encryption return


PRB: Bottom Margin in Report Incorrect w/ Multiple Memo Fields

Article ID: Q113161

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

When you have multiple memo fields in a report, the first few pages have a

larger bottom margin than is defined for the report. This bottom margin

decreases for each successive page in the report.

RESOLUTION

==========

See "Workaround" in the "More Information" section below.

STATUS

======

Microsoft is researching this problem and will post new information here in

the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

NOTE: In the example below, it makes no difference if:

 - The size of the data in the memo fields is different

 - If the report is only 1 column

 - If the report measurement is changed from "Inches" to "CM"

 - If the font is changed

These details are provided simply to ensure that you see consistent

results.

1. Run the following code. This code closes any open tables, creates a

   MEMOPRT table containing several memo fields, and populates the memo

   fields with data.

      CLOSE DATABASES

      CREATE TABLE memoprt (field1 M, field2 M, field3 M, field4 M, ;

                    field5 M, field6 M, field7 M, field8 M, ;

                   field9 M, field10 m)

      INSERT INTO memoprt (field1, field2, field3, field4, field5, ;

                 field6, field7, field8, field9, field10) ;

            VALUES  (REPLICATE('a',3000), REPLICATE('b',3000), ;

                  REPLICATE('c',3000), REPLICATE('d',3000), ;

                  REPLICATE('e',3000), REPLICATE('f',3000), ;

                  REPLICATE('g',3000), REPLICATE('h',3000), ;

                  REPLICATE('i',3000), REPLICATE('j',3000))

2. In the Command window, issue the following command:

      CREATE REPORT memotest

3. From the Report menu, choose Page Layout. Set Columns to 1, set

   Dimensions to Inches, and set Print Area to Printable Page.

4. Choose the Font button and change the font to Arial, Regular, 8.

5. In the Detail band of the report, place each of the memo fields from the

   MEMOPRT table; stack the fields one above the other. Size each memo

   field so that it is the entire width of the band. In the Report

   Expression dialog box for each memo field, select the Top -- Field Can

   Stretch option under Position Relative To.

6. From the Report menu, choose Page Preview. The bottom margin on the

   first page is quite large. As you use the Next button to move to

   successive pages, you will see that the bottom margin gradually becomes

   smaller and smaller.

Workaround

----------

Place each memo field in a data group, as follows:

1. Assuming you have performed steps 1-5 above, return to the Report Layout

   window.

2. From the Report menu, choose Data Grouping.

3. Choose the Add button.

4. In the Group Info dialog box, choose the Group button. This opens the

   Expression Builder dialog box.

5. Select the first memo field in the Fields box.

6. Choose OK twice. This will return you to the Data Grouping dialog box.

7. Repeat steps 3-6 for all the memo fields.

8. When you are done, choose OK to close the Data Grouping dialog box.

9. Position each memo field within the data group you have defined for it

   and choose Page Preview from the Report menu.

The text of the report should now flow more evenly to the bottom margin of

the page.

Additional reference words: 2.50 2.50a 2.50b report writer


ERR: Setup Wizard: Folder Is Empty or Folder Does Not Exist

Article ID: Q113171

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro Distribution Kit for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

The FoxPro for Macintosh Setup Wizard returns a "Folder Does Not Exist" or

a "Folder is Empty" error message after you specify the Application Folder

or Distribution Folder, even though a folder exists by the specified name.

CAUSE

=====

In order to meet cross-platform requirements, FoxPro for Macintosh does not

accept all valid Macintosh folder names.

A folder name longer than 27 characters will cause a "Folder Does Not

Exist" error. Although the Macintosh allows folder and file names of up to

31 characters, FoxPro reserves 4 characters for a period and 3-letter

extension to maintain cross-platform compatibility.

A folder name containing a backslash (\) will cause a "Folder is Empty"

error. Although the Macintosh allows backslashes within a folder name,

FoxPro disallows this character to maintain cross-platform compatibility.

REFERENCES

==========

For information about valid file and folder names, see Chapter 3 of

the "Installation and Macintosh Features Guide."

Additional reference words: 2.50b alert errmsg err msg dk setupwizard


INF: How the EVALUATE() Function Works

Article ID: Q113172

---------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

---------------------------------------------------------------------

SUMMARY

=======

The EVALUATE() function evaluates the expression contained within the

parentheses and returns the result. However, the EVALUATE() function

produces different results based on the exact syntax of the statement.

MORE INFORMATION

================

The EVALUATE() function returns different values based on whether quotation

marks ("") are placed around the expression being evaluated. Enclosing the

expression within quotation marks causes EVALUATE() to return the literal

value of the expression. However, if no quotation marks are used, the

command returns the value stored in the expression.

To demonstrate this behavior, type the following in the Command window:

   x = "Level1"

   Level1 = "Level2"

   ? EVALUATE("X")    && "Level1" appears on the screen

   ? EVALUATE(X)      && "Level2" appears on the screen.

As you can see, quotation marks determine what value the EVALUATE()

function returns. With the quotation marks, EVALUATE() returns the literal

value of the expression; in this case, "Level1". Without the quotation

marks, EVALUATE() returns the value contained within the expression being

evaluated; in this case, "Level2".

Since the function returns quite different values based on its syntax, it

may cause various error messages to appear, depending on the program's

code. For example, the following code returns the error "Index Does Not

Match Database File. Recreate Index":

   IF _MAC

      USE tutorial\customer SHARE

   ELSE

      USE c:\<foxpro directory>\tutorial\customer.dbf SHARE

   ENDIF

   BROWSE NOWAIT

   PUBLIC ord

   ord="Company"

   INDEX ON EVALUATE(ord) TO test.idx

   APPEND BLANK

   REPLACE Company WITH 'test company"

   SHOW WINDOW CUSTOMER REFRESH

Since the EVALUATE() function in this example does not contain quotation

marks around the variable "ord", the literal value "company" is not

returned. Instead, EVALUATE(ord) returns the value of the COMPANY field

of the current record, which causes the error messages.

REFERENCES

==========

"Commands & Functions," version 2.0 (MS-DOS), page C3-356

"Language Reference," version 2.5 (MS-DOS and Windows), page L3-485

"Language Reference," version 2.5 (Macintosh), page 407

Additional reference words: 2.00 2.50 2.50a 2.50b macro substitution


INF: Technical-Support Numbers for Fox Developers

Article ID: Q113173

----------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for the Macintosh, version 2.5b

----------------------------------------------------------------

SUMMARY

=======

The following is a list of technical-support telephone numbers useful to

Microsoft FoxBASE+ and FoxPro developers.

MORE INFORMATION

================

Microsoft technical support is available for all versions of the following

FoxBASE+ and FoxPro products on the MS-DOS, Microsoft Windows, and Apple

Macintosh platforms:

   FoxBASE+

   FoxPro

   FoxPro Distribution Kit

   FoxPro Connectivity Kit

   FoxPro Library Construction Kit

Support-Engineer Telephone Numbers

----------------------------------

Warranty Support (MS-DOS and Windows)          (206) 635-7191*

Warranty Support (Macintosh)                   (206) 635-7192*

Warranty Support TT/TDD (hearing impaired)     (206) 635-4948*

Developer Priority Support                     (900) 555-2300**

Developer Priority Support                     (800) 936-5800***

Developer Premier Support                      (800) 936-3100****

*    = Free support for 90 days from customer's first call,

       provided via toll lines, from 6:00 A.M. - 6:00 P.M. Pacific

       time.

**   = $2 per minute, with a maximum charge of $95 per call.

***  = $95 per incident, $750 for a ten-incident pack, or

       $1495 for an annual developer contract.

**** = $20,000 for an annual corporate contract.

For more information about the technical-support options included within

the Microsoft Support Network (MSN), please call (800) 936-3500.

Automated and Online Fox Support Services

-----------------------------------------

Microsoft FastTips                         (800) 936-4300*

CompuServe Information Services, Inc.      (800) 848-8199**

Microsoft Download Service (MSDL)          (206) 936-6735***

Internet                                   ftp.microsoft.com****

*    = Free, automated menu system of technical information

       accessed from a touch-tone telephone. Provides answers

       24 hours a day, seven days a week, via fax, voice

       recordings, and mail.

**   = By subscription. CompuServe connect charges apply.

       Offers access to the Microsoft Knowledge Base of Fox articles

       and the Microsoft Fox Forum, which includes file libraries and

       technical support via electronic mail.

***  = Free bulletin-board service (BBS) via toll lines, used to

       download updated files.

**** = Free file library, used by persons with Internet access

       to download updated files.

Technical Subscriptions

-----------------------

Microsoft TechNet                         (800) 344-2121, Ext. 348*

Microsoft Developer's Network             (800) 759-5474*

* = Both subscriptions include CD-ROM databases of Fox technical data.

    Call for current pricing and subscription benefits.

FoxPro Enhancement Requests

---------------------------

WishLine voice mail                       (206) 936-WISH

WishLine fax                              (206) 93-MSFAX

WishLine e-mail (Internet)                foxwish@microsoft.com

WishLine letters                          Microsoft FoxPro WishLine

                                          One Microsoft Way

                                          Redmond, WA  98052-6399

                                          U.S.A.

FoxPro Sales Information, Orders, Upgrades, and Customer Service

----------------------------------------------------------------

Microsoft Sales Information Center (cust. service) (800) 426-9400

Special FoxPro 2.6 information & order lines  U.S. (800) 434-3918

                                            Canada (800) 563-9048

                    U.S. TT/TDD (hearing impaired) (800) 892-5234

                  Canada TT/TDD (hearing impaired) (905) 568-9641

Additional reference words: MSN MSDL CIS CD phone telephone pss product

support services


INF: How to Print Multiple Columns in FoxPro for MS-DOS

Article ID: Q113175

-----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

-----------------------------------------------------------------------

SUMMARY

=======

A common request is to print multiple columns in FoxPro for MS-DOS.

Currently this capability is not provided in the Report Writer. However,

you can simulate this functionality by creating a cursor that creates the

"columns," as described below.

MORE INFORMATION

================

NOTE: The following method, though designed specifically for FoxPro for

MS-DOS, could also be used in FoxPro for Windows and FoxPro for Macintosh.

The following sample program creates an SQL cursor with the requested

number of columns. You can call the program in the following manner:

   USE <database name>

   DO colmaker WITH 4  && where 4 is the number of columns desired

   REPORT FORM <multiple-column report> PREVIEW

The cursor can then be used to create a report. The columns will all be in

one record, so the fields for the total number of columns desired will be

placed on the same detail line. The program creates an extra field called

TRACKER for every column. This field will not be displayed in the report.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

   PROCEDURE colmaker

   PARAMETER colnum

   * Initializes variables

   **********************

   * Stores fields in database to an array 'repodbf'

   =AFIELDS(repodbf)

   * Stores number of fields in database to a variable 'numfield'

   numfield = ALEN(repodbf,1)

   * Stores database name to variable 'dbfname'

   dbfname = ALIAS()

   * Initializes procedure variables

   fldlist = ""

   whrclause = ""

   totcur = ""

   i = 0

   * Calculates variables to deal with extra records

   extras = RECCOUNT() % colnum

   IF extras <> 0

      mtracker = CEILING(RECCOUNT()/colnum)

   ENDIF

   * Generates field list for SELECT statements

   FOR i = 1 to numfield

      fldlist = fldlist + dbfname+ "."+repodbf(i,1) + ","

   ENDFOR

   * Adds a field to the resulting SELECT statements to organize

   * records

   fldlist = fldlist + "CEILING(recno()/"+ALLTRIM(STR(colnum))+") ;

      AS TRACKER"

   * Deletes any residual temporary databases

   oldsaf = SET("SAFETY")

   SET SAFETY OFF

   FOR i = 1 to colnum

      fname = "temp"+ALLTRIM(STR(i)) + ".DBF"

      ERASE &fname

   ENDFOR

   * Creates databases for columns

   FOR i = 1 to colnum

      curname = "temp" + ALLTRIM(STR(i))

      x = IIF(i<colnum,i,0)

      SELECT &fldlist FROM (dbfname) INTO TABLE &curname ;

         WHERE (RECNO()%colnum)=x

   * Creates names for cursors for use in final SELECT

      totcur = totcur + curname + ","

   ENDFOR

   totcur = SUBSTR(totcur,1,LEN(totcur)-1)

   * Adds blank records to necessary database to account for extra

   * records

   IF extras <> 0

      FOR i = extras+1 to colnum

         fname = "TEMP" + ALLTRIM(STR(i))

         SELECT &fname

         APPEND BLANK

         REPLACE tracker WITH mtracker

      ENDFOR

   ENDIF

   * Builds join condition for resulting databases

   FOR i = 1 to colnum-1

      whrclause = whrclause + "temp"+ALLTRIM(STR(i)) + ;

         ".tracker = temp" + ALLTRIM(STR(i+1)) + ;

         ".tracker AND "

   ENDFOR i

      whrclause = whrclause + "temp1.tracker = temp" + ;

         ALLTRIM(STR(colnum)) + ".tracker"

   * Combines resulting database into one final database

   SELECT * FROM &totcur INTO CURSOR final ;

      WHERE &whrclause

   * Deletes residual databases

   FOR i = 1 to colnum

      fname = "temp"+ALLTRIM(STR(i))

      SELECT &fname

      USE

      fname = fname + ".DBF"

      ERASE &fname

   ENDFOR

   * Returns to resulting cursor

   SELECT final

The "final" cursor will contain a copy of each field for the number of

columns specified. For instance, using the CUSTOMER database in the FoxPro

TUTORIAL subdirectory, you could create a three-column report by placing

the following expressions in the Detail band:

   CNO_A        CNO_B       CNO_C

   COMPANY _A   COMPANY_B   COMPANY _C

The records will appear in order across and down the page. For example:

   RECORD 1    RECORD 2   RECORD 3

   RECORD 4    RECORD 5   RECORD 6

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 multi multiple multi-

column multicolumn


INF: SET PATH TO Syntax for Folder Names with Spaces

Article ID: Q113176

-------------------------------------------------------------------

 The information in this article applies to:

  - Microsoft FoxPro for Macintosh, version 2.5b

-------------------------------------------------------------------

The Macintosh operating system allows the use of spaces and other special

characters within folder and file names. The SET PATH command, which

specifies a path for file searches, requires special syntax if folder names

containing spaces are used.

If a folder in the path contains a space character in the name, the entire

path name must be enclosed in quotation marks. Within the quotation marks,

each separate folder to search should be separated by semicolons or commas

as shown in the following example:

   SET PATH TO "Mac HD:FoxPro 2.5B; tutorial; goodies"

Additional reference words: 2.50b directory


INF: Creating a Report for a One-to-Many Relationship

Article ID: Q113178

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions  2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Using FoxPro's Report Writer, you can produce a report that displays

records from databases engaged in a one-to-many relationship. In a one-to-

many relationship, the parent record prints once and all corresponding

(related) child records print out.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

The following code opens the INVOICES and DETAIL database files, sets the

order in the child database based on the INO field, and establishes a one-

to-many relationship. In this example, INVOICES.DBF is the parent database

and DETAIL.DBF is the child database.

   SELECT 1

   USE c:\<foxpro directory>\tutorial\invoices.dbf

   SELECT 2

   USE c:\<foxpro directory>\tutorial\detail.dbf

   SET ORDER TO TAG ino OF c:\<foxpro directory>\tutorial\detail.cdx

   SELECT 1

   SET RELATION TO ino INTO detail ADDITIVE

   SET SKIP TO detail

NOTE: If you have a parent-child-grandchild relationship, you will need to

SELECT the parent and SET SKIP TO both the child and the grandchild. For

example:

   SELECT parent

   SET SKIP TO child,grandchild

Using the data grouping band is an easy and intuitive method of producing a

one-to-many report. The data grouping must be based on the field that

relates the two databases. In the example above, the invoice number (INO)

field links the INVOICE and DETAIL databases.

After you have established the previously described one-to-many

relationship, do the following to create a one-to-many report:

1. In the Command window, type:

      CREATE REPORT one_many

2. Create a data grouping band based on the INVOICES.INO field.

3. Using the sizing bars, increase the size of the group band, if

   necessary.

4. Place the INO and CNO fields from the INVOICES database in the data

   grouping band.

5. Place each field from the DETAIL database in the Detail band of

   the report.

6. From the Report menu, choose Page Preview.

The one-to-many report will be displayed on the page preview screen.

The data grouping band executes each time the data grouping changes. For

example, when the INO field changes its value, the fields within the data

group header print. This functionality causes the parent record data to

print one time.

The Detail band of the report contains the fields from the child

(DETAIL.DBF) database. This band executes each time a child record is

available.

Additional reference words: 2.00 2.50 2.50a 2.50b


ERR: File "DELHAND.PRG" Does Not Exist

Article ID: Q113275

------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

------------------------------------------------------------------

SUMMARY

=======

After you have used the Catalog Manager, one of the following error

messages occurs when you press the DEL, ESC, or F1 key:

     File 'DELHAND.PRG' does not exist

     -or-

     File 'ESCHAND.PRG' does not exist

     -or-

     File 'WZ_HELP' does not exist

CAUSE

=====

In certain situations, the Catalog Manger leaves three ON KEY LABEL

commands defined after exiting. These ON KEY LABEL commands are:

     ON KEY LABEL ESCAPE DO ESCHAND.PRG WITH WONTOP()

     ON KEY LABEL DEL DO DELHAND.PRG WITH WONTOP()

     ON KEY LABEL F1 DO WZ_HELP.PRG

RESOLUTION

==========

Type "ON KEY" (without the quotation marks) in the Command window.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro 2.6 for Windows and

MS-DOS. We are researching this problem and will post new information here

in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Run Catalog Manager by choosing Proceed To Catalog Manager in the splash

   screen when FoxPro first starts or by choosing Catalog Manager from the

   File menu if FoxPro is already running.

2. Select the Query tab, and then choose the New button.

3. Choose the Query Wizard button.

4. Choose SQL Query Wizard, and then choose the Next button.

5. Double-click the CUSTOMER table.

6. Choose the Next button.

7. Choose the Back button twice, and then choose the Cancel button.

8. Press CTRL+F4, and then choose the Switch To Command Window button.

9. Press the ESC, DEL, or F1 key.

Additional reference words: 2.60 escape


INF: Automatic Record Locks Placed by 2.6 Commands

Article ID: Q113276

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

The "Programming in a Multi-User Environment" section of the "FoxPro in a

Multi-User Environment" chapter of the FoxPro "Developer's Guide" lists

commands that automatically lock records and files. An additional command

should be added to this table for FoxPro version 2.6.

MORE INFORMATION

================

The BLANK command performs an automatic record lock. The number of records

locked will vary based on the scope of the command, as listed in the table

below.

   Command             What's locked

   ----------------------------------------------------------------------

   BLANK               Locks current record (and all records from aliased

                       fields)

   BLANK NEXT 1        Locks current record (and all records from aliased

                       fields)

   BLANK <scope        Locks entire database (and all files from aliased

   beyond one>         fields)

REFERENCES

==========

For more information about automatic record locking, see the FoxPro

"Developer's Guide."

Additional reference words: 2.60 multiuser


INF: Popup Not Cleared in FoxPro for Windows

Article ID: Q113277

------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

------------------------------------------------------------------

SUMMARY

=======

In FoxPro 2.6 for MS-DOS and in dBASE, the CLEAR command will clear (hide)

a popup. However, in FoxPro for Windows, the CLEAR command does not clear

the popup.

RESOLUTION

==========

See "Workaround" in the "More Information" section below.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro 2.5, 2.5a, 2.5b, and

2.6 for Windows. We are researching this problem and will post new

information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Start FoxPro for Windows.

2. Type the following in the Command window and press ENTER:

      MODIFY COMMAND test

3. Enter the following code in the TEST.PRG window:

      SET COMPATIBLE TO DB4

      DEFINE POPUP x FROM 10,10

      DEFINE BAR 1 OF x PROMPT "Hello"

      DEFINE BAR 2 OF x PROMPT "Bye"

      ON SELECTION POPUP x DO myx

      ACTIVATE POPUP x

      RELEASE POPUP x

      PROCEDURE myx

      CLEAR

      *HIDE POPUP x   && remove asterisk from this line to correct the

      *problem

      WAIT WINDOW "Cleared"

4. Press CTRL+W to save TEST.PRG.

5. In the Command window type:

      DO TEST.PRG

Note that the POPUP is not cleared when you press the ENTER key or the

SPACEBAR.

Workaround

----------

Remove the asterisk from the line that reads "*HIDE POPUP X". The line

should now read as follows:

   HIDE POPUP x

Additional reference words: 2.50 2.50a 2.50b 2.60 pop-up disappear


INF: How to Replace a String in a Text File

Article ID: Q113278

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

FoxPro does not contain a function for replacing a character string in an

ASCII text file. One way to do this is to use low-level file functions. A

simpler way is to copy the text file to a memo field, make the change using

STRTRAN(), and copy the memo field back to an ASCII file, as demonstrated

below.

MORE INFORMATION

================

The following steps demonstrate this procedure:

1. Create an ASCII text file that contains the following sentence:

      This sentence demonstrates how a character string can be changed.

2. Create a database that contains only a memo field.

3. Append a blank record to that database.

4. Create a program that contains the following code:

      USE <database>

      APPEND MEMO <memofield> FROM <ASCII file> OVERWRITE

      Temp=STRTRAN(<memofield>,"demonstrates","shows")

      REPLACE <memofield> WITH Temp

      COPY MEMO <memofield> TO <ASCII file>

5. Run the program.

6. Open the ASCII file; the word "demonstrates" should now read "shows".

If the same ASCII filename is used in the APPEND MEMO and the COPY MEMO

commands, the file will be rewritten with the changes. The OVERWRITE

parameter on the APPEND MEMO command is needed so that the current text

file overwrites the existing contents of the memo field. This technique can

also be used to remove escape codes and page formatting from files by

placing the characters to remove in the STRTRAN() function.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60


INF: SET FIELDS TO Causes "No Fields to Process" Error

Article ID: Q113279

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.6

--------------------------------------------------------------------

SUMMARY

=======

Issuing a SET FIELDS TO command followed by a BROWSE command will cause a

"No Fields to Process" error message if a SET FIELDS OFF command has not

been issued first.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

Type the following code in the Command Window:

   USE customer

   SET FIELDS TO city, state

   BROWSE                      &&Browse of CITY and STATE fields only

   SET FIELDS TO

   BROWSE                      &&"No Fields to Process" error will occur

   SET FIELDS OFF

   BROWSE                      &&Complete BROWSE will appear

Additional reference words: 2.60 SET FILES


PRB: ADIR() Incorrectly Reports That a File Exists

Article ID: Q113318

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Under certain rare circumstances, the ADIR() function may erroneously

report that a file exists when it does not.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro version 2.5b for

Macintosh. We are researching this problem and will post new information

here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

NOTE: The ADIR() function returns a 0 if the specified file is not found,

or a 1 if it is found.

Type the following in the Command window:

   CREATE TABLE test.dbf (name C(20))

   ?FILE('test.dbf')  && Correctly returns .T.

   ?FILE('test.dbf' + CHR(201))  && Correctly returns .F.

   ?ADIR(x, 'test.dbf' + CHR(201))  && Correctly returns 0

   USE

   RENAME 'test.dbf' TO 'test.dbf,.dbf'

   ?FILE('test.dbf,.dbf')  && Correctly returns .T.

   ?FILE('test.dbf,.dbf' + 'X')  && Correctly returns .F.

   ?ADIR(x, 'test.dbf,.dbf' + 'X') && Incorrectly returns 1

NOTE: In the last line above, the ADIR() function returns a 1, indicating

that it found a file with the name "test.dbf,.dbfX".

Additional reference words: 2.50b


INF: How to Copy a General Field from One Record to Another

Article ID: Q113443

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

You can copy a general field from one record to another by using the

KEYBOARD command and the copy key combination (CTRL+C) to place the OLE

object on the Windows Clipboard. You can then use the paste key combination

(CTRL+V) to insert the OLE object in the general field of the target

record. For more information about this process, see below.

MORE INFORMATION

================

Go to the record containing the general field you want to copy. Use the

KEYBOARD command to issue CTRL+C and CTRL+W. Open a window for the process

to take place.

Go to the record containing the general field you want to contain the OLE

object you now have on the Clipboard. Use the KEYBOARD command to issue

CTRL+V and CTRL+W. Open a window for the process to take place.

Sample Code

-----------

To test the sample code below, you can use the OLETABLE.DBF file in the

FOXPROW\SAMPLE\OLE subdirectory. This table contains a general field called

OBJECT.

The following code example works on a copy of the database you select. You

will have to make the appropriate changes to this code in order to have it

work on a live table. Two files are created during the execution of this

code (OLETEST.DBF and OLETEST.FPT); you can delete these files when you are

finished.

   CLOSE DATABASES

   *COPY and USE the database.

   testfile= GETFILE('dbf','Select the OLE table')

   IF FILE('oletest.dbf')

      ERASE oletest.dbf

      ERASE oletest.fpt

   ENDIF

   IF !EMPTY(testfile)

      COPY FILE (testfile) TO oletest.dbf

      COPY FILE LEFT(testfile,LEN(testfile)-3)+"FPT" TO oletest.fpt

      USE oletest

   ELSE

      WAIT WINDOW TIMEOUT 1.5  'No table selected...'

      RETURN

   ENDIF

   *Set record pointer to source record

   BROWSE TITLE 'Select source record by moving to it... '+;

      'Press <ESC> to select record'

   fieldname='OLETEST.OBJECT'

   DEFINE WINDOW updt_ole AT 5,15 SIZE 2,90 FONT "FoxPrint" TITLE ;

      "Copying general field &fieldname from record "+LTRIM(STR(RECNO()))

   ACTIVATE WINDOW updt_ole

   KEYBOARD '{Ctrl+C}'

   KEYBOARD '{Ctrl+W}'

   MODIFY GENERAL (fieldname) IN WINDOW updt_ole

   RELEASE WINDOW updt_ole

   *Set record pointer to destination record

   BROWSE TITLE  'Select destination record... Press <ESC> to select it'

   fieldname='OLETEST.OBJECT'

   DEFINE WINDOW copymsg AT 5,15 SIZE 2,90 FONT "FoxPrint" TITLE ;

      "Pasting to &fieldname in record "+LTRIM(STR(RECNO()))

   ACTIVATE WINDOW copymsg

   KEYBOARD '{Ctrl+V}'

   KEYBOARD '{Ctrl+W}'

   MODIFY GENERAL (fieldname) IN copymsg

   RELEASE WINDOW copymsg

   WAIT WINDOW NOWAIT "Done!"

Additional reference words: 2.50 2.50a 2.50b


PRB: Getting Started Queries Cause "Invalid Path or Filename"

Article ID: Q113512

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Choosing Do Query to run a quick report as instructed on page 42, 59, or 78

of the "Getting Started" manual causes the following error message:

   Invalid path or filename

CAUSE

=====

The quick report was not saved properly. The instructions on pages 42, 58,

and 77 of the "Getting Started" manual should include a colon (:) before

the TUTORIAL subfolder name in the Save As box of the RQBE Quick Report

dialog box.

RESOLUTION

==========

Type a colon (:) at the beginning of the name in the Save As text box.

MORE INFORMATION

================

Sample Correction to the Instructions

-------------------------------------

The following is the incorrect filename currently shown on page 42 in

the Save As text box:

   tutorial:gschap5.frx

The following is the correct filename (using the initial colon) that should

be used in the Save As text box:

   :tutorial:gschap5.frx

NOTE: These lessons in the "Getting Started" manual assume that the default

directory (folder) is set to the main FoxPro folder.

Additional reference words: 2.50b docerr errmsg err msg


INF: _ASSIST System Memory Variable

Article ID: Q113513

---------------------------------------------------------------------------

The information in this article applies to:

 - FoxPro for MS-DOS, version 2.6

 - FoxPro for Windows, version 2.6

---------------------------------------------------------------------------

SUMMARY

=======

_ASSIST is a new system memory variable in FoxPro version 2.6 for MS-DOS

and Windows. This memory variable brings up the Catalog Manager, which is

equivalent to the Control Center in dBASE IV.

MORE INFORMATION

================

dBASE IV's Control Center allows quick and easy access to the different

components of dBASE's menu system. A catalog is always opened by the

Control Center.

By default, _ASSIST is equal to CATALOG.APP in the main FoxPro directory.

For example, if FoxPro 2.6 for Windows is installed in the C:\FOXPROW

directory, issuing ?_ASSIST in the Command window would show the following:

   _ASSIST=C:\FOXPROW\CATALOG.APP

To access the Catalog Manager, use one of the following methods:

 - In the Command window, type "ASSIST" (without the quotation marks).

 - Choose Proceed To Catalog Manager from the main splash screen in

   FoxPro 2.6.

 - From the File menu, choose Catalog Manager.

 - Insert CATMAN=ON in the CONFIG.FPW file to bypass the splash screen but

   use the Catalog Manager upon startup.

 - In the Command window, type, "DO CATALOG.APP" (without the quotation

   marks).

REFERENCES

==========

For more information about the _ASSIST system memory variable, see the

README.TXT file in the main FoxPro directory.

Additional reference words: 2.60


INF: FoxPro 2.6 CREATE QUERY <File> NOWAIT Pauses Execution

Article ID: Q113514

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

The CREATE QUERY <file> NOWAIT command does not continue execution at the

next line of code as other similar commands do.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

The following code will stop once the Query Builder is on screen and only

continue on to the WAIT WINDOW COMMAND when the Query Builder is closed:

   CREATE QUERY <file> NOWAIT

   WAIT WINDOW  "Wait window has executed"

The following code will continue on to the WAIT WINDOW COMMAND without

stopping:

   MODIFY QUERY <file> NOWAIT

   WAIT WINDOW  " Wait window has executed "

Additional reference words: 2.60 QPR


INF: Cannot Add Label Layouts to Label Wizard

Article ID: Q113517

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

FoxPro 2.6 contains a label wizard for creating label forms. The label

wizard contains a number of layouts for Avery standard label forms. You

cannot add custom layouts to the label wizard.

To use a custom label size, do one of the following:

 - Create the label through the label wizard, and then modify the created

   label to reflect the custom label size.

   -or-

 - Create the label outside the label wizard by choosing New Label from the

   File menu.

MORE INFORMATION

================

The label wizard label layouts are hard-coded into the application.

Additional reference words: 2.60


INF: Maximum DDESetOption("Timeout") Value

Article ID: Q113518

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

The maximum value for the DDESetOption("Timeout") setting is 65,535

milliseconds.

MORE INFORMATION

================

The time-out setting affects the number of milliseconds DDE functions

wait for the server application to respond.

Additional reference words: 2.50 2.50a 2.50b 2.60


PRB: Report Wizard with No Fields Selected Displays All Fields

Article ID: Q113519

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SYMPTOMS

========

When you are creating a report with either the Group/Total or Multi-Column

Report Wizard, if no fields are selected to be put in the report, the

wizard automatically adds all the fields to the report.

CAUSE

=====

In order to create a report in the wizard, a field must be specified.

FoxPro assumes that if you don't select any fields that you want all the

fields in the report.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Run the Report Wizard.

2. Select either the Group/Total or Multi-Column wizard.

3. Select any table.

4. Go to step 3 of the seven steps.

5. Don't select any fields. Choose the Next button.

A message may display indicating that there isn't enough room for the

fields to fit on the report. Choose Adjust Fields. All the fields will be

listed in list box.

Additional reference words: 2.60 reportwizard


PRB: System Capacities for FoxPro 2.5b for Macintosh

Article ID: Q113520

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

Below is a list of the system capacities for FoxPro for Macintosh.

NOTE: Some capacities may be limited by available memory.

(1) Indicates that the actual file size (in bytes) cannot exceed 2

   gigabytes (GB) for single user or exclusively opened multiuser .DBF

   files. Shared multiuser .DBF files with no indexes or .IDX indexes

   cannot exceed 1 GB. Shared multiuser .DBF files with structural .CDX

   indexes cannot exceed 2 GB.

(2) Indicates that the capacity is limited by memory and available file

   handles.

(3) Means a program module is one procedure. A program or application can

   contain an unlimited number of program modules.

(4) Indicates that FoxPro for Macintosh ignores commands that save and call

   color sets. Color schemes should be used instead. For more information

   about how FoxPro for Macintosh uses color sets, refer to the "FoxPro

   ReadMe" file.

Tables and Index Files

----------------------

Maximum # of records per table file                     1 billion (1)

Maximum # of characters per record                             65,500

Maximum # of fields per record                                    255

Maximum # of tables open at one time                              225

Maximum # of characters per table field                           254

Maximum # of characters per index key (.IDX)                      100

Maximum # of characters per index key (.CDX)                      240

Maximum # of open index files per table                 Unlimited (2)

Maximum # of open indexes in all work areas             Unlimited (2)

Maximum # of relations                                      Unlimited

Maximum length of relational expressions                    Unlimited

Field Characteristics

---------------------

Maximum size of character fields                                  254

Maximum size of numeric (and float) fields                         20

Maximum number of characters in field names                        10

Digits of precision in numeric computations                        16

Memory Variables and Arrays

---------------------------

Default # of memory variables                                    1024

Maximum # of memory variables                                  65,000

Maximum # of arrays                                            65,000

Maximum # of elements per array                                65,000

Program and Procedure Files

---------------------------

Maximum # of lines in source program files                  Unlimited

Maximum size of compiled program modules                      64K (3)

Maximum # of procedures per file                            Unlimited

Maximum # of nested DO calls                                       32

Maximum # of READ nesting levels                                    5

Maximum # of nested structured programming commands                64

Maximum # of procedure arguments                                   24

Report Writer Capacities

------------------------

Maximum # of objects in a report definition             Unlimited (2)

Maximum # of lines in a report definition                         255

Maximum # of grouping levels                                       20

Miscellaneous Capacities

------------------------

Maximum # of records per table file                     1 billion (1)

Maximum # of open windows (all types)                   Unlimited (2)

Maximum # of open Browse windows                                  225

Maximum # of characters per character string              8 gigabytes

Maximum # of characters per command line                        2,048

Maximum # of characters per macro substitution line             2,048

Maximum # of open files                        Operating system limit

Maximum keystrokes in keyboard macro                             1024

Maximum fields that can be selected by an SQL-SELECT statement    255

Color Support

-------------

Number of color schemes per color set                              24

Maximum # of color sets (in FOXUSER file)               Unlimited (4)

Number of colors per color scheme                                  10

Schemes available for user definition                               8

REFERENCE

=========

"Developer's Guide," pages 404-405

Additional reference words: 2.50b


INF: How to Convert a FoxPro 2.5 Report File to 2.0 Format

Article ID: Q113523

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

The sample program below will convert a FoxPro 2.5 report file (.FRX) to

FoxPro 2.0 format without destroying the original FoxPro 2.5 report file.

MORE INFORMATION

================

The following sample program converts a FoxPro 2.5 report (RPT25.FRX) to a

valid FoxPro 2.0 report (RPT20.FRX).

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

   PROCEDURE cnvt2025

   PARAMETER output, input

   *  Add .FRX extension to report filename if not present

   IF .NOT. LIKE("*FRX",UPPER(output))

      output = output+".FRX"

   ENDIF

   IF .NOT. LIKE("*FRX",UPPER(input))

      input = input+".FRX"

   ENDIF

   * Store alias of input report database

   USE (input)

   m.alias = ALIAS()

   * Selects only records pertaining to the MS-DOS platform

   SELECT * FROM (input) INTO TABLE tempfrx WHERE platform = "DOS"

   * Creates database with 2.0 structure

   CREATE TABLE (output) ;

      (objtype N(2,0), objcode N(2,0), name M, expr M, ;

      vpos N(4,0), hpos N(4,0), height N(3,0), width N(3,0), ;

      style M, picture M, order M, unique L, comment M, ;

      environ L, boxchar C(1), fillchar C(1), tag M, ;

      tag2 M, float L, stretch L, norepeat L, resetrpt N(2,0), ;

      pagebreak L, resetpage L, ;

      swapheader L, swapfooter L, ejectbefor L, ejectafter L, ;

      plain L, summary L, addalias L, offset N(3,0), ;

      topmargin N(3,0), botmargin N(3,0), totaltype N(2,0),   ;

      resettotal N(2,0) )

   * Copies data to new .FRX file

   APPEND FROM tempfrx

   * Changes version to 2.0 version number

   REPLACE objcode WITH 0 FOR objtype = 1

   USE

   * Turn off SAFETY setting to prepare to delete temporary database

   oldsaf = SET("SAFETY")

   SET SAFETY OFF

   * Delete temporary database

   SELECT tempfrx

   USE

   ERASE tempfrx.DBF

   * Close original report database

   SELECT (m.alias)

   USE

   * Restore SAFETY setting

   SET SAFETY &oldsaf

The program is called as follows, assuming RPT25.FRX is the 2.5 report and

RPT20.FRX is the 2.0 report:

   =cnvt2025("rpt20.frx","rpt25.frx")

REFERENCES

==========

"Update Manual," version 2.5, pages 4-14 to 4-17

"Developer's Guide," version 2.0, pages B-14 to B-15

Additional reference words: 2.00 2.50 2.50a 2.50b


PRB: Lost LAN Manager Network and Printer Connections

Article ID: Q113524

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SYMPTOMS

========

When you are running on a Microsoft LAN Manager network, your network and

printer connections will occasionally be lost. You may receive some of the

following error messages:

   File Not Found

   File Does Not Exist

   Cannot Create File

   Use of Transgressed Handle

   Invalid File Handle

RESOLUTION

==========

To work around this problem, do the following:

1. Increase the "chartime" setting in the workstation's LANMAN.INI file.

2. Load SMARTDRV in the AUTOEXEC.BAT file.

3. Set the "sesstimeout" setting in the workstation's LANMAN.INI file to

   127.

4. Set the fifteenth "srvheuristics" parameter in the workstation's

   LANMAN.INI file to 9 (no time-out).

MORE INFORMATION

================

For additional information, please see the following article(s) in the

Microsoft Knowledge Base:

   ARTICLE-ID: Q106354

   TITLE     : ERR: "File ["<File>"] Does Not Exist" Printing on

               LAN Manager

   ARTICLE-ID: Q98849

   TITLE     : INF: Adjust Parameters to Connect to LAN Man Over Slow Link

   ARTICLE-ID: Q80077

   TITLE     : INF: LAN Manager 2.1 Server Autotuning (Part 1)

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 Lanman errmsg err

msg


INF: How to Make GENXTAB.PRG Work with Any Table/.DBF

Article ID: Q113525

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

Currently, you can only use GENXTAB.PRG with the first three fields of a

database even though the comments in GENXTAB.PRG say otherwise. The

comments read as follows:

    Calling example:

    DO genxtab WITH 'XTAB.DBF',.T.,.T.,.T.,1,2,5,.T.

    This command causes GENXTAB to write the output database to

    'XTAB.DBF'. However, XTAB.DBF will be deleted and the output

    stored to a cursor called XTAB. The input database will be closed

    at the conclusion of the program. The rows in XTAB.DBF will

    contain the unique values of field 1 in the database that is

    selected when GENXTAB is called, the columns will contain

    unique values of field 2 in the input database, and the

    cell values will come from field 5 in the input database.

    The thermometer will be shown. A total field will be created.

All the parameters work correctly except the row, column, and cell

parameters. GENXTAB.PRG always uses the first field as the row, the second

field as the column, and the third field as the cell.

To correct this problem, modify GENXTAB.PRG using the code below and save

it as GENXTABX.PRG.

For more information about the meaning of the parameters, please see the

following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q113971

   TITLE     : INF: How to Call GENXTAB.PRG

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

To make the modifications, choose Go To from the Edit menu, and then change

the lines below.

WARNING: All of the following modifications must be made at the same time

in order to maintain the functionality of GENXTABX.PRG.

   Line 238

   ORIGINAL CODE:

      IF inpfields[1,2] $ 'MGP'

   CHANGE TO:

      IF inpfields[m.rowfld,2] $ 'MGP'

   Line 242

   ORIGINAL CODE:

      IF inpfields[2,2] $ 'MGP'

   CHANGE TO:

      IF inpfields[m.colfld,2] $ 'MGP'

   Line 246

   ORIGINAL CODE:

      IF inpfields[3,2] $ 'MGP'

   CHANGE TO:

      IF inpfields[m.cellfld,2] $ 'MGP'

   Line 310

   ORIGINAL CODE:

      outarray[1,1] = mapname(inpfields[1,1])

   CHANGE TO:

      outarray[1,1] = mapname(inpfields[m.rowfld,1])

   Line 311

   ORIGINAL CODE:

      outarray[1,2] = inpfields[1,2]

   CHANGE TO:

      outarray[1,2] = inpfields[m.rowfld,2]

   Line 312

   ORIGINAL CODE:

      outarray[1,3] = inpfields[1,3]

   CHANGE TO:

      outarray[1,3] = inpfields[m.rowfld,3]

   Line 313

   ORIGINAL CODE:

      outarray[1,4] = inpfields[1,4]

   CHANGE TO:

      outarray[1,4] = inpfields[m.rowfld,4]

   Line 317

   ORIGINAL CODE:

      outarray[i,2] = inpfields[3,2]                   && field type

   CHANGE TO:

      outarray[i,2] = inpfields[m.cellfld,2]           && field type

   Line 318

   ORIGINAL CODE:

      outarray[i,3] = inpfields[3,3]                   && field length

   CHANGE TO:

      outarray[i,3] = inpfields[m.cellfld,3]           && field length

   Line 319

   ORIGINAL CODE:

      outarray[i,4] = inpfields[3,4]                   && decimals

   CHANGE TO:

      outarray[i,4] = inpfields[m.cellfld,4]           && decimals

   Line 325

   ORIGINAL CODE:

      outarray[ALEN(coluniq)+2,2] = inpfields[3,2]

   CHANGE TO:

      outarray[ALEN(coluniq)+2,2] = inpfields[m.cellfld,2]

   Line 326

   ORIGINAL CODE:

      outarray[ALEN(coluniq)+2,3] = inpfields[3,3]

   CHANGE TO:

      outarray[ALEN(coluniq)+2,3] = inpfields[m.cellfld,2]

   Line 327

   ORIGINAL CODE:

      outarray[ALEN(coluniq)+2,4] = inpfields[3,4]

   CHANGE TO:

      outarray[ALEN(coluniq)+2,4] = inpfields[m.cellfld,4]

Save the file as GENXTABX.PRG so that the original GENXTAB can be used.

This completes the changes necessary to make GENXTABX.PRG work with any

database and any character or numeric fields you choose. To test the

changes, use the following example, which uses the SALESMAN.DBF file in the

TUTORIAL subdirectory off the main FoxPro directory.

Example

-------

   *** CODE BEGINS HERE ***

   CLOSE DATA

   newgxtx=GETFILE('PRG',"Select GENXTABX.PRG","Select")

   oldgxt=_genxtab

   _genxtab=newgxtx

   SELECT 0

   gxtname=GETFILE('DBF',"Chose SALESMAN.DBF","USE")

   USE (gxtname) EXCLUSIVE

   SET SAFETY OFF

   INDEX ON name+state TAG combo

   SET SAFETY ON

   DO (_GENXTAB) WITH 'TEST_GXT',.T.,.T.,.T.,4,9,5,.T.

   BROWSE

   CLOSE DATA

   _genxtab=oldgxt

   *** CODE ENDS HERE ***

To make GENXTABX your default _genxtab, add the following line to your

CONFIG.FP or CONFIG.FPW file:

   _GENXTAB=<path to FoxPro directory>\GENXTABX.PRG

Additional reference words: 2.50 2.50a 2.50b 2.60


INF: New Features of FoxPro Version 2.6 Connectivity Kit

Article ID: Q113528

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

A new version of FPSQL, version 1.1, is included with the Connectivity Kit

for FoxPro 2.6 for Windows and FoxPro 2.6 for MS-DOS. Version 2.6 of FPSQL

includes new functionality that was not previously available in version 1.0

of FPSQL, which was included with the Connectivity Kit for FoxPro versions

2.5, 2.5a, and 2.5b. This article discusses the new functionality added to

version 2.6 of FPSQL.

MORE INFORMATION

================

The following new functionality was added to version 1.1 of FPSQL:

1. User-defined constants can now be used for null values from the data

   source.

   The user can now define four types of null values:

      "CharNull"    size 30

      "IntNull"     size 20

      "FloatNull"   size 20

      "DateNull"    size 23

   The values can be set or obtained using the option functions:

      ?DBSetOpt(handle, "FloatNull", "9999999.9999999")

      ?DBGetOpt(handle, "CharNull")

   The default for all cases is an empty string; that is, nulls become

   spaces in FoxPro.

2. Multiple error messages are now supported.

   FPSQL now returns a list of up to five error messages per connection.

   These messages are displayed in the error message window and can be

   obtained by calling DBError(). DBError() supports a fourth optional

   parameter with values from 1 to 5. This optional parameter indicates

   which message is requested from the list. Values outside this domain

   default to the closest valid value. If the parameter is not specified,

   the latest error message is returned. This behavior is consistent with

   the behavior of version 1.0 of FPSQL.

3. New function: DBVersion()

   The DBVersion() function returns the version of FPSQL. This function

   requires no parameters.

4. Logical values in the data source will produce logical values in FoxPro.

   If a query is performed against a table containing logical values, the

   resulting table in FoxPro will also contain logical values (.T. and

   .F.). In version 1.0 of FPSQL, when a query is performed against a table

   containing logical values, the resulting table contains 0's or 1's

   instead of logical T and F values.

5. Dates are always converted to type character.

   If a query is performed against a table containing values of type date,

   the date value will be converted to type character.

Additional reference words: 2.60 FPSQL.PLB


PRB: Parent Folder Icon Not at Top of List in Filer

Article ID: Q113530

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

If the name of a subfolder on the Macintosh Desktop contains leading

spaces, it is listed before the parent folder icon (an arrow pointing to

the left and up) in Filer.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro version 2.5b for

Macintosh. We are researching this problem and will post new information

here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Create a folder on the desktop named " Test" (without the quotation

   marks). Note that this name contains a leading space.

2. Start FoxPro.

3. In the Command window, type "FILER" (without the quotation marks).

4. In Filer, display the contents of the Desktop, which is shown as a

   directory (folder) below the root directory (parent folder).

Note that the " Test" folder is displayed at the top, followed by the

parent folder icon. The parent folder icon should always be the first

listed.

Additional reference words: 2.50b blanks


PRB: Programs with Matching Name Cause Wrong Program to Run

Article ID: Q113531

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

When you are using the Application command on the Run menu to consecutively

run two different programs that have the same name, the first program is

run twice. In other words, the first program is run again when you attempt

to run the second program.

CAUSE

=====

The first program is still in memory. For performance reasons, a program is

not reloaded from the disk each time it is called.

RESOLUTION

==========

To force FoxPro to load the second program from the disk, do one of the

following:

 - Issue the CLEAR PROGRAM command before running the second program.

   -or-

 - Use the DO ? command instead of choosing the Application command from

   the Run menu. The question mark (?) causes FoxPro to display a dialog

   box for you to select the program.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. From the Run menu, choose Application.

2. Select LASER.APP from the Sample:Laser:DOSONLY subfolder in the main

   FoxPro folder. Choose Run.

   Note that LASER.APP uses MS-DOS text-style buttons.

3. Choose the Quit button in LASER.APP.

4. From the Run menu, choose Application.

5. Select LASER.APP from the Sample:Laser:CROSPLAT subfolder in the main

   FoxPro folder. Choose Run.

   Note that LASER.APP still uses MS-DOS text-style buttons.

6. Choose the Quit button in LASER.APP.

7. In the Command window, type "DO ?" (without the quotation marks).

8. Select LASER.APP from the Sample:Laser:CROSPLAT subfolder in the main

   FoxPro folder. Choose Do.

Note that LASER.APP now uses a graphical interface, indicating that the

cross-platform version was loaded this time.

Additional reference words: 2.50b duplicate identical like similar

alike multiple


PRB: Word 2.0 Produces Errors When Using Mail Merge Wizard

Article ID: Q113538

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

After you use the Mail Merge Wizard to perform a mail merge to Microsoft

Word 2.0 for Windows, a WordBasic error message appears. Several errors may

appear, including:

   Error 1138 - Window is too small

   Error  504 - Window does not exist

CAUSE

=====

The client document window in Word 2.0 is maximized.

RESOLUTION

==========

To solve this problem, invoke Word, and then set the client document window

so it is not maximized. When the Mail Merge Wizard invokes Word upon

subsequent usage, the client document window will not be maximized in Word,

and the error messages will therefore not occur.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Start Word 2.0.

2. Maximize the client document window in Word.

3. Quit Word 2.0.

4. Start FoxPro 2.6 for Windows.

5. Invoke the Catalog Manager.

6. USE a table.

7. Use the Mail Merge Wizard to send output to Word 2.0.

Additional reference words: 2.60 errmsg err msg


PRB: ESC Key Does Not Quit Catalog Manager

Article ID: Q113566

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Pressing the ESC key does not close the Catalog Manager.

CAUSE

=====

The Catalog Manager is part of the FoxPro user interface. Keeping this in

mind, it would be confusing to the user if the quit dialog box appeared

after the ESC key was accidentally pressed.

RESOLUTION

==========

To quit the Catalog Manager and return to the FoxPro Command window, do one

of the following:

 - Double-click the Control-menu box (close box) for the Catalog Manager

   window.

   -or-

 - From the File menu, choose Command Window.

Additional reference words: 2.60 catman exit


INF: Catalog Manager Cannot Pack Database Files

Article ID: Q113567

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

The Catalog Manager does not have the functionality to pack, or remove

deleted records from, a table.

To pack a database that is part of a catalog being used in the Catalog

Manager, do the following:

1. Quit the Catalog Manager. Double-click the Control-menu box (close box)

   for the Catalog Manager window or choose Command Window from the File

   menu.

2. Open the file that you want to pack. You can do this by issuing the USE

   <table> command in the Command window or by choosing Open from the File

   menu.

3. Pack the table by issuing the PACK command or by choosing Pack from the

   Database menu.

4. Close the table by choosing Close from the File menu or by typing "USE"

   (without the quotation marks) in the Command Window.

To return to the Catalog Manager, type "ASSIST" (without the quotation

marks) in the Command window, or choose Catalog Manager from the File menu.

Additional reference words: 2.60


INF: CompuServe README.TXT File for 2.5, 2.5a, & 2.5b Patches

Article ID: Q113663

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Below is the README.TXT file located on CompuServe with the 2.5, 2.5a, and

2.5b FoxPro patch files.

MORE INFORMATION

================

File: README.TXT

What's New

----------

This file contains the current list of files required to patch specific

versions of FoxPro, FoxPro add-ons and the FoxPro Distribution Kits

to the latest version, which is FoxPro 2.5b.

There have been some fixes to problems reported by customers in FoxPro

2.5b. A complete list of fixes incorporated into FoxPro 2.5b is outlined in

the CHGL_B.TXT file in the library where you downloaded this file.

International Support

---------------------

In response to the requests from our international customers we have added

the following code pages along with supported sort orders to the FOXPRO.INT

file. In order to take full advantage of those code pages you must install

FoxPro 2.5b.

  737 - Greek MS-DOS (437G)

  620 - Mazovia (Polish) MS-DOS

  861 - Icelandic MS-DOS

  895 - Kamenicky (Czech) MS-DOS

 1253 - Greek Windows

The Process

-----------

If you are not experiencing one of the problems mentioned in the CHGL_B.TXT

file, and do not require international feature support, then you do not

need to upgrade to FoxPro 2.5b.

To update your current copy of FoxPro, you will need to download the

appropriate files from this library based on your version of FoxPro and the

optional items (FoxDoc, FoxAPP, ...) you've installed. Each set of files

(self-extracting .EXEs) includes an informational file with complete

instructions on the patch process. There are basically two to three main

files you will need to download. You will be getting:

  A) Main Product Updates -- patches your copy of FoxPro

  B) Distribution Updates -- patches your FoxPro DK

  C) Add - on Updates     -- updates things like FoxDoc, and the Spell

     check.

  Additionally, if you choose, there are updates to the help files.

Locate your particular product configuration and download the appropriate

files as listed below into an empty directory on your hard drive. Once

expanded, these files will be easier to work with in a separate directory.

Note: The help file has not been updated for the 2.5b version of FoxPro, so

if you are upgrading from FoxPro 2.5a, you do _not_ need to download the

help files from the libraries here.

******* SPECIAL NOTE FOR PEOPLE UPDATING FROM A COPY OF FOXPRO THAT *******

*******       WAS PATCHED FROM VERSION 2.5 TO VERSION 2.5A!         *******

Due to a small problem in the 2.5 to 2.5a patches that incorrectly set the

file dates on your FoxPro files, you will need to run a short program to

update your FoxPro file dates before continuing with the patch process. In

the .EXE file you download and unpack which contains your main FoxPro

product patches, there are two files, SETFDATE.EXE and UPD25A.BAT. Copy

these into your FoxPro directory, and then type UPD25A.BAT. The program

will run and change the dates on your FoxPro files so that the patch

process will work correctly.

The listing below will tell you which files you will need to download.

***************************************************************************

DOS

---

FoxPro 2.50 DOS, without the Distribution Kit:

   DU10BE.EXE  (Main Product Updates)

   DAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP...)

   DOSHLP.EXE  (Update to the DOS Help file)

FoxPro 2.5a DOS, without the Distribution Kit:

   DUPABE.EXE  (Main Product Updates)

   DAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP...)

FoxPro 2.50 DOS, with the Distribution Kit:

   DU20BE.EXE  (Main Product Updates)

   DAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP...)

   DDK0BE.EXE  (Distribution Kit Updates)

   DOSHLP.EXE  (Update to the DOS Help file)

FoxPro 2.5a DOS, with the Distribution Kit:

   DUPABE.EXE  (Main Product Updates)

   DAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP...)

   DDKABE.EXE  (Distribution Kit Updates)

Windows

-------

FoxPro 2.50 Windows, without the Distribution Kit

   WUP0BE.EXE  (Main Product Updates)

   WAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP, Spell...)

   WINHLP.EXE  (Update to the Windows Help file)

   FPWHLP.EXE  (Update to the Windows Help file)

FoxPro 2.5a Windows, without the Distribution Kit

   WUPABE.EXE  (Main Product Updates)

   WAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP, Spell...)

FoxPro 2.50 Windows, with the Distribution Kit

   WUP0BE.EXE  (Main Product Updates)

   WAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP, Spell...)

   WDK0BE.EXE  (Distribution Kit Updates)

   WINHLP.EXE  (Update to the Windows Help file)

   FPWHLP.EXE  (Update to the Windows Help file)

FoxPro 2.5a Windows, with the Distribution Kit

   WUPABE.EXE  (Main Product Updates)

   WAD_BE.EXE  (Add-ons, FoxDoc, FoxAPP, Spell...)

   WDKABE.EXE  (Distribution Kit Updates)

INSTALLING MAIN PRODUCT UPDATES

-------------------------------

The Main Product Updates file is a self-extracting .EXE file which contains

the files needed to update your copy of FoxPro. After you have downloaded

it to your computer, place the file in an empty directory, and run it. The

program will self-extract several files onto your hard disk. Before

proceeding, read the file READ.ME which explains the patching process.

If you have a distribution kit, and choose to update your main FoxPro

product, we strongly recommend that you update your distribution kit as

well. This keeps your distributed applications and your development

environment at the same version level.

INSTALLING ADD-ON UPDATES

-------------------------

The Add-On Updates file is a self-extracting .EXE file which contains the

files needed to update the optional add-on products, such as FOXDOC,

FOXAPP, SPELL.APP and so on. These files are *not* included in the MAIN

PRODUCT UPDATE file. After you have downloaded the file to your computer,

place the file in an empty directory and run it. The program will self-

extract several files onto your hard disk. Before proceeding, read the file

READ.ME which explains the patching process.

INSTALLING DISTRIBUTION KIT UPDATES

-----------------------------------

The Distribution Kit Updates file is a self-extracting .EXE file which

contains the files needed to update your FoxPro Distribution Kit. After you

have downloaded the file to your computer, place the file in an empty

directory and run it. The program will self-extract several files onto your

hard disk. Before proceeding, read the file UPDWDK.TXT (Win DK) or

UPDDDK.TXT (DOS DK) which explains the patching process.

AFTER SUCCESSFUL INSTALLATION OF UPDATES

----------------------------------------

After completing the patching process, you can safely delete the following

files from the patch directory.

1) Anything that has an extension of .FPF (assuming you don't have another

   application that creates files with that extension).

2) GEN.EXE, DOSHLP.EXE, FPDAPP.EXE, FPDDOC.EXE, FPWAPP.EXE, FPWDOC.EXE,

   FPWHLP.EXE, PATCH.DBF, PATCH.EXE, SPELL.EXE, WINHLP.EXE, DRIVER.EXE

3) Any of the .EXE files that you downloaded from the Forum.

Additionally, if you installed Distribution Kit patches:

1) UPDDDK.BAT, UPDWDK.BAT, UPDDKA.BAT, UPDWKA.BAT, UPDDDK.TXT, UPDWDK.TXT,

   DOSDK.EXE, DOSDKA.EXE, WINDK.EXE, WINDKA.EXE

NOTE: You may not have all of these files, as some are specific to certain

products.

Additional reference words: 2.50 2.50a 2.50b cis


PRB: "Cannot Start Microsoft Word" Error When Doing Mail Merge

Article ID: Q113667

------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

------------------------------------------------------------------

SYMPTOMS

========

After you have filled out all the selections and chosen the Finish button

to run the Mail Merge Wizard in FoxPro 2.6 for Windows, the error message

"Cannot start Microsoft Word" is displayed.

CAUSE

=====

The Mail Merge Wizard directs Microsoft Word to open the selected database

using a 1-Tier FoxPro ODBC driver. If the FoxPro 1-Tier ODBC driver is not

installed or configured properly, the above error message is displayed.

RESOLUTION

==========

Install the FoxPro 1-Tier ODBC driver with the correct configuration

information, as described below:

1. From the Program Manager in Windows, open the Control Panel.

2. In the Control Panel, double-click the ODBC icon.

3. In the Data Sources dialog box, choose the Add button.

4. Select FoxPro Files (*.dbf), and then choose OK.

   If the FoxPro Files (*.dbf) option is not available, the Desktop Drivers

   have not been installed. To obtain the Desktop Drivers, call the

   Microsoft Sales Information Center at (800) 426-9400. If you are outside

   the United States, contact the Microsoft subsidiary for your area. To

   locate your subsidiary, call Microsoft International Customer Service at

   (206) 936-8661.

5. In the ODBC FoxPro Setup dialog box, enter the following information:

      Data Source Name: FoxPro Files

      Description: <Type whatever you like.>

6. For Version, select FoxPro 2.5.

7. Select the Use Current Directory check box.

The Mail Merge Wizard should now work.

Additional reference words: 2.60 errmsg err msg


PRB: Global Printer Driver Changed with REPORT FORM PDSETUP

Article ID: Q113669

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Selecting the Printer Driver check box in the Catalog Manager or issuing

the REPORT FORM <file> TO PRINT command with the PDSETUP option changes the

global printer driver setup. Expected behavior would be to restore the

global printer driver setup to whatever it was before the REPORT FORM

<file> PDSETUP TO PRINT command was issued.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro 2.6 for MS-DOS. We

are researching this problem and will post new information here in the

Microsoft Knowledge Base as it becomes available.

Additional reference words: 2.60 checkbox


PRB: Table Order Cleared When Table Name Double-Clicked

Article ID: Q113670

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

In the Catalog Manager, if you double-click a table entry, for example to

initiate a BROWSE, the index order resets to 0 even though an index order

was previously set.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro 2.6 for Windows. We

are researching this problem and will post new information here in the

Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Start FoxPro 2.6 for Windows.

2. Open the Sample Catalog file.

3. USE the CUSTOMER database.

4. From the Data menu, choose Order Table.

5. Select the CITY tag, and then choose Set Order.

6. Choose OK.

7. Choose the Browse button in the Catalog Manager window.

   A look at the CITY field will show that the index order is set.

8. Close the Browse window.

9. Double-click the CUSTOMER table to show the same Browse window.

Note that the order is now cleared from the table. Looking at the Order

Table dialog box again will show that no order is set.

Additional reference words: 2.60 catman


PRB: Memory Not Released in BROWSE with ON ERROR

Article ID: Q113671

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Memory is not being released when a BROWSE command is combined in a program

with an ON ERROR routine in effect. This behavior often results in the

error message "Insufficient Memory".

RESOLUTION

==========

The only workaround in this situation is to remove the ON ERROR routine

from the code.

STATUS

======

Microsoft has confirmed this to be a problem in the Microsoft products

listed at the beginning of this article. We are researching this problem

and will post new information here in the Microsoft Knowledge Base as it

becomes available.

MORE INFORMATION

================

The following code reproduces the problem:

   ON ERROR ? MESSAGE()

   USE customer    && From the Tutorial directory

   DO WHILE .T.

     BROWSE FIELDS x=company, y=contact, z=ytdpurch FREEZE state NOWAIT

     ? SYS(1011)

   ENDDO

When run in the Standard (16-bit) version of FoxPro for MS-DOS, the above

routine will result in an "Insufficient Memory" error message after

executing approximately 10 times. In the Extended (32-bit) version, the

routine executes but continues to register more and more memory handles

used. In FoxPro 2.6 for Windows, the same thing happens, but after a minute

or so, a general protection (GP) fault occurs. In FoxPro 2.5x for Windows,

a "Not Enough Memory for Buffer" error message may occur instead. Both of

these errors will force FoxPro to close.

Additional reference words: 2.50 2.50a 2.50b 2.60 errmsg err msg gpf


Transporting Screens with PICT Files from Macintosh to Windows

Article ID: Q113689

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Creating a screen in FoxPro for Windows that uses a PICT file from FoxPro

for Macintosh will produce a "Picture too big, corrupt, or wrong format"

error message if FOX.BMP cannot be found in the main FoxPro for Windows

directory. If FOX.BMP can be found, it will automatically be substituted

for any PICT file when you transport a screen from FoxPro for Macintosh to

FoxPro for Windows.

RESOLUTION

==========

To avoid this behavior, use the PCT-to-BMP utility that ships with FoxPro

for Macintosh (it is located in the GOODIES:MISC subfolder by default). You

can either convert the PICT file to a .BMP file and use that file on both

platforms, or you can just move the .BMP file along with the *.SC? files so

that the bitmap can be used with FoxPro for Windows.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Create a screen in FoxPro 2.5b for Macintosh.

2. Add a word to the screen using the Text tool in the Screen Builder

   toolbox.

3. Add a picture to the screen; for example, FOX.PCT. To add the PICT file,

   use the Picture tool in the Screen Builder toolbox.

4. Move the *.SC? files to a Windows machine.

5. To see the error message, either move FOX.BMP out of the FoxPro for

   Windows directory or rename the file.

6. Using FoxPro 2.6 for Windows, try to modify the screen that was created

   on the Macintosh.

At this point, the transporter is invoked. During the transport, you will

be asked to locate the file. Unless you select a particular .BMP file,

FOX.BMP in the FOXPROW directory will be substituted. If another .BMP file

is not selected and FOX.BMP cannot be found, you will get the error message

"Picture too big, corrupt, or wrong format," and the screen file will not

open.

Additional reference words: 2.60 errmsg err msg cross platform xplat

transfer convert transport translate


PRB: Command Window Moves Behind Main FoxPro Window

Article ID: Q113698

------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

------------------------------------------------------

SYMPTOMS

========

When MACDESKTOP = ON, clicking the main FoxPro window moves it in front of

the Command window.

CAUSE

=====

This behavior occurs because the Command window is not a part of the main

FoxPro window as it is in both FoxPro for Windows and FoxPro for MS-DOS.

Issuing the SET MACDESKTOP OFF command after FoxPro has started does not

affect this relationship because the "desktop" state of the Command window

is determined prior to the execution of any user code.

RESOLUTION

==========

If you want the Command window to behave as it does in FoxPro for Windows

and FoxPro for MS-DOS, add the following line to the CONFIG.FPM file:

   MACDESKTOP = OFF

STATUS

======

This behavior is by design.

Additional reference words: 2.50b


PRB: @ ... SCROLL Command Causes "Unrecognized Phrase/Keyword"

Article ID: Q113749

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

Use of the dBASE IV @ ... SCROLL command produces an "Unrecognized

phrase/keyword in command" error message.

CAUSE

=====

This dBASE IV command is not supported in FoxPro.

RESOLUTION

==========

You can use the FoxPro SCROLL command to provide functionality that is

substantially similar to the functionality provided by the dBASE IV

@ ... SCROLL command.

MORE INFORMATION

================

In dBASE IV, the @ ... SCROLL command shifts the contents of a specified

region of the screen up, down, left, or right.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 differences errmsg

err msg


INF: How to Create a Table Using FoxPro Connectivity Kit

Article ID: Q113752

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro Connectivity Kit, version 2.5

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

By using the FoxPro Connectivity Kit's DBExec() command, you can create a

table on the native platform that you are connecting to.

MORE INFORMATION

================

Using the standard SQL CREATE TABLE command with the Connectivity Kit's

DBExec() command, you can create a new table on the native platform.

"Native platform" refers to the DBMS that you are connecting to. In the

example below, the source is SQL Server and the code example creates a

table called testtab in the pubs database on the SQL Server machine.

With minor modifications, this same code can be used to create a new table

called testtab on an Oracle server or on any other data source that may be

in use.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

NOTE: If you have problems running the following code in FoxPro for MS-DOS,

please see the following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q112482

   TITLE     : How to Make an MS-DOS Level SQL Server Connection

Code Sample

-----------

   *****SET THE LIBRARY AND INITIALIZE VARS

   IF _DOS

      SET LIBRARY TO SYS(2004)+"fpsql.plb"

   ELSE

      SET LIBRARY TO SYS(2004)+"fpsql.fll"

   ENDIF

   PUBLIC errval

   PUBLIC errmsg

   PUBLIC handle

   PUBLIC do_more

   errval=0

   errmsg=' '

   do_more=.T.

   *****SOURCE INFORMATION

   sourcename= 'test'

   user= 'sa'

   passwd=''

   *****CONNECT

   handle=DBConnect(sourcename,user,passwd)

   IF handle > 0

      WAIT WINDOW 'Successfully Connected'

   ELSE

      error=DBError(0,@errmsg,@errval)

      WAIT WINDOW STR(error)+' '+STR(errval)+' '+errmsg

      do_more=.F.

   ENDIF

   IF do_more=.T.

      *****SET SESSION DEFAULTS

      =DBSetOpt(handle,'Asynchronous',0)

      =DBSetOpt(handle,'BatchMode',1)

      =DBSetOpt(handle,'ConnTimeout',0)

      =DBSetOpt(handle,'Transact',1)

      =DBSetOpt(handle,'UseTable',0)

      *****USE THE PUBS DATABASE ON SQL SERVER; On SQL Server

      *****it is necessary to open an existing database (pubs)

      *****in order to create a table.  In other words, databases

      *****on SQL Server contain tables and we are creating a table

      *****that will be part of the pubs database.

      err=DBExec(handle,'use pubs')

      DO errhand WITH err,'USE PUBS'

      *****CREATE_IT--CREATES TESTTAB TABLE ON SQL SERVER

      *****IN THE PUBS DATABASE.

      DO create_it

      *****DISCONNECT

      err=DBDisconn(handle)

      DO errhand with err,"DBDisconn()"

      SET LIBRARY TO

      CLOSE ALL

   ENDIF

   *****Simple Error Handler Program

   PROCEDURE errhand

   PARAMETERS err,command

      IF err > 0

         WAIT WINDOW ALLTRIM(UPPER(command))+" Completed Successfully"

      ELSE

         ? UPPER(ALLTRIM(command))+" NOT Completed Successfully"

         error=DBError(handle,@errmsg,@errval)

         ? ALLTRIM(STR(error))+" "+ALLTRIM(STR(errval))+" " ;

           +ALLTRIM(errmsg)

      ENDIF

   RETURN

   *****THE DBExec() FUNCTION IS USED TO CREATE A TABLE

   PROCEDURE create_it

      createcomm= "CREATE TABLE testtab "+ ;

         "(ID char(4), NAME char(45), STATE char(2), ZIP char(10))"

      err=DBExec(handle,createcomm)

      DO errhand WITH err,"DBExec(handle,"+createcomm+")"

      IF err > 0

         WAIT WINDOW 'THE CREATE Command Worked.'

      ENDIF

   RETURN

   * End of Code

Additional reference words: 2.50 2.50a 2.50b 2.60 ODBC CK


INF: How to Insert Records in SQL Table Using Connectivity Kit

Article ID: Q113753

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro Connectivity Kit, version 2.5

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

By using the FoxPro Connectivity Kit's DBExec() command, you can insert

records in a native platform's database that you are connecting to.

MORE INFORMATION

================

Using the standard SQL INSERT command with the Connectivity Kit's DBExec()

command, you can insert records into a table that exists on the native

platform. "Native platform" refers to the DBMS that you are connecting to.

In the example below, the source is SQL Server and the code example

inserts a record in the sales table in the pubs database.

With minor modifications, this same code can be used to insert a new record

in an Oracle database or in any other data source that may be in use.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

NOTE: If you have problems running the following code in FoxPro for MS-DOS,

please see the following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q112482

   TITLE     : How to Make an MS-DOS Level SQL Server Connection

Code Sample

-----------

 *****SET THE LIBRARY AND INITIALIZE VARS

   IF _DOS

      SET LIBRARY TO SYS(2004)+"fpsql.plb"

   ELSE

      SET LIBRARY TO SYS(2004)+"fpsql.fll"

   ENDIF

   PUBLIC errval

   PUBLIC errmsg

   PUBLIC handle

   PUBLIC do_more

   errval=0

   errmsg=' '

   do_more=.T.

   *****SOURCE INFORMATION

   sourcename= 'test'

   user= 'sa'

   passwd=''

   *****CONNECT

   handle=DBConnect(sourcename,user,passwd)

   IF handle > 0

      WAIT WINDOW 'Successfully Connected'

   ELSE

      error=DBError(0,@errmsg,@errval)

      WAIT WINDOW STR(error)+' '+STR(errval)+' '+errmsg

      do_more=.F.

   ENDIF

   IF do_more=.T.

      *****SET SESSION DEFAULTS

      =DBSetOpt(handle,'Asynchronous',0)

      =DBSetOpt(handle,'BatchMode',1)

      =DBSetOpt(handle,'ConnTimeout',0)

      =DBSetOpt(handle,'Transact',1)

      =DBSetOpt(handle,'UseTable',0)

      *****USE THE PUBS DATABASE ON SQL SERVER; On SQL Server

      *****it is necessary to open the pubs database

      *****in order to insert a record into the sales table that is

      *****in the pubs database.  In other words, databases

      *****on SQL Server contain tables and we are inserting

      *****into a table that is part of the pubs database.

      err=DBExec(handle,'use pubs')

      DO errhand WITH err,'USE PUBS'

      *****INSERT_IT-- THE PROCEDURE THAT INSERTS RECORDS INTO

      *****THE SALES TABLE.

      DO insert_it

      *****Displays the change made after the insert is completed.

      sqlcomm= 'select * from sales'

      err=DBExec(handle,sqlcomm)

      DO errhand WITH err,"DBExec(handle,"+sqlcomm+")"

      IF err > 0

         WAIT WINDOW 'PRESS ESC TO CLEAR BROWSE WINDOW AND TO DISCONNECT'

         BROWSE

      ENDIF

      *****DISCONNECT

      err=DBDisconn(handle)

      DO errhand WITH err,"DBDisconn()"

      SET LIBRARY TO

      CLOSE ALL

   ENDIF

   *****Simple Error Handler Program

   PROCEDURE errhand

   PARAMETERS err,command

      IF err > 0

         WAIT WINDOW ALLTRIM(UPPER(command))+" Completed Successfully"

      ELSE

         ? UPPER(ALLTRIM(command))+" NOT Completed Successfully"

         error=DBError(handle,@errmsg,@errval)

         ? ALLTRIM(STR(error))+" "+ALLTRIM(STR(errval))+" " ;

           + ALLTRIM(errmsg)

      ENDIF

   RETURN

   *****THE DBExec() FUNCTION IS USED TO INSERT A RECORD

   PROCEDURE insert_it

      m.stor_id="0000"

      m.ord_num="QA7442.3"

      m.date="09/13/85"

      m.qty="75"

      m.payterms="Pauls Play"

      m.title_id="PS2091"

      insertcomm= "insert sales ;

                values ("+"'"+ALLTRIM(m.stor_id)+"',"+ ;

                          "'"+ALLTRIM(m.ord_num)+"',"+;

                          "'"+ALLTRIM(m.date)+"',"+;

                          + ALLTRIM(m.qty)+","+;

                          "'"+ALLTRIM(m.payterms)+"',"+;

                          "'"+ALLTRIM(m.title_id)+"'"+")"

      err=DBExec(handle,insertcomm)

      DO errhand WITH err,"DBExec(handle,"+insertcomm+")"

      IF err > 0

         WAIT WINDOW 'Insert went ok'

      ENDIF

   RETURN

   * End of Code

Additional reference words: 2.50 2.50a 2.50b 2.60 ODBC CK


INF: "Syntax Error" When Verifying UDF() in Report Writer

Article ID: Q113754

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

 - Microsoft FoxBASE+ for MS-DOS, version 2.1

--------------------------------------------------------------------

SUMMARY

=======

When you are verifying an user-defined function (UDF) in the Expression

Builder, a "Syntax Error" appears. The "Syntax Error" message occurs

because the Expression Builder cannot evaluate UDFs and expects instead to

find an internal function.

However, if the UDF() function exists as a stand-alone .PRG file and has

previously been tested, the function will operate properly in a report when

the report is previewed or printed.

MORE INFORMATION

================

A UDF is a program routine that must always return a value of some type. It

can be created in two forms: external and internal. An internal function is

a subroutine within a .PRG file, and its name must be preceded with the

FUNCTION statement. An external function is a single .PRG file, with a

maximum of eight characters for its name.

The external form must be used so that the Report Writer can find it as a

stand-alone .PRG file in the default directory or SET PATH list (SET

PROCEDURE TO is not evaluated).

Once you have created the function, you can test the function by invoking

it from the Command window or from within a program. In the following

example, a function to print a time stamp (minute resolution) on each

record is needed. To do this, create the file STAMP.PRG, which contains

this single line:

   RETURN LTRIM(STR(SECONDS()/60))+':'+LTRIM(STR(SECONDS()%60,10,3))

This function returns the number of seconds since midnight divided by 60 to

show the number of minutes (no decimals), concatenated with the modulus of

SECONDS to show the remainder of seconds and hundredths of seconds. To test

this function, type the following commands in the Command window:

   SET TALK ON  && if not on already

   ? Stamp()

FoxPro should return a character string consisting of the minutes, a colon,

the seconds, a decimal point, and the hundredths of seconds. Although the

function name is STAMP, it must be invoked as STAMP() to cause FoxPro to

look for an internal function of the same name. When it cannot be found,

FoxPro will then look externally for a file with the same name.

After the function has been successfully tested, you can use it in the

report. To use the function, create a field on the report and enter the

name of the function followed by a left and right parentheses, as shown in

the test above.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 2.10 calculate

report variable


INF: How to Install the Sample Catalog for FoxPro for MS-DOS

Article ID: Q113763

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

The Sample Catalog is not a required file. It will not be installed unless

Sample Applications is selected when you are installing FoxPro for MS-DOS.

MORE INFORMATION

================

The Sample Catalog contains sample tables, queries, screens, reports,

labels, and programs.

To install the Sample Catalog while installing FoxPro, proceed to the

Optional Components section of the installation.

If FoxPro has already been installed, you can invoke the application that

installs optional components by typing "DO INSTALL" (without the quotation

marks) in the Command window. (The INSTALL.APP program resides in the

default FoxPro for MS-DOS directory.)

Once INSTALL.APP is running, do the following:

1. Under Programs To Install, select (highlight) Sample Applications.

2. Choose the Check button so that a diamond appears to the left of Sample

   Applications.

3. Choose the Install button to begin the installation process.

Additional reference words: 2.60 set up setup


INF: Terminology Differences Between dBASE and FoxPro

Article ID: Q113766

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes terminology differences between dBASE and

FoxPro. This information is also found in the "Switching from dBASE" topic

in FoxPro 2.6 Help.

To go directly to this topic in FoxPro, choose dBASE Help from the

Help menu.

MORE INFORMATION

================

Most of the terminology that a dBASE user encounters in FoxPro will be

familiar, but there are a few differences. This table lists some of

the more prominent differences

   dBASE Term                    FoxPro term

   -------------------------------------------------

   Database                      Table

   Form                          Screen

   Horizontal bar menu           Menu bar

   Pop-up menu                   Popup

   Pull-down menu                Menu or menu popup

   View                          Cursor

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp


DKSETUP.PRG Contains References to Earlier Versions of FoxPro

Article ID: Q113783

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Users who want to modify the Setup Wizard should be aware that the

DKSETUP.PRG file that resides in the DKWIZARD subdirectory of the FoxPro

for Windows directory contains several incorrect references to files that

existed in previous releases of FoxPro, but do not exist in FoxPro 2.6 for

Windows. These references need to be corrected before the DKSETUP.PRG file

is used to build a new Setup application.

RESOLUTION

==========

You can obtain an updated version of DKSETUP.PRG by downloading NDKWIZ.EXE,

a self-extracting file, from the Microsoft Software Library (MSL) on the

following services:

 - CompuServe

      GO MSL

      Search for NDKWIZ.EXE

      Display results and download

      GO FOXFORUM

      Search for NDKWIZ.ZIP in Library 3

      (NDKWIZ.ZIP was archived using the PKWare file-compression utility.)

 - Microsoft Download Service (MSDL)

      Dial (206) 936-6735 to connect to MSDL

      Download NDKWIZ.EXE

 - Internet (anonymous FTP)

      ftp ftp.microsoft.com

      Change to the \softlib\mslfiles directory

      Get NDKWIZ.EXE

When you have obtained the new version of DKSETUP.PRG, copy the file to the

DKWIZARD subdirectory of your FoxPro for Windows directory and then rebuild

the SETUP.PJX project. Please note that it is not necessary to use this

file if you use the Setup Wizard (SETUP.APP) that is included with the

Distribution Kit. You only need this updated file if you want to modify the

Setup Wizard provided with the Distribution Kit and create a new

application.

MORE INFORMATION

================

The DKSETUP.PRG file is one of the program files used to create SETUP.APP,

the Setup Wizard used to create Setup disks for applications created with

the FoxPro for Windows Distribution Kit.

Several references to old files exist in this file, including:

   #DEFINE c_eslfile     "FOXW250B.ESL"

   #DEFINE c_oldesl      "FOXW2500.ESL"

   #DEFINE c_oldesl1     "FOXW250A.ESL"

If the DKSETUP.PRG file is used to create a new SETUP.APP application, the

following error message will appear when the Setup Wizard begins to build

disks:

   FoxPro Setup Wizard Error

FOXW250B.ESL is not among the files to ship with your application. It must

be on the destination machine in order to run your application.

This problem will only affect users who build a new SETUP.APP file using

the DKSETUP.PRG file. If the SETUP.APP file that ships with the

Distribution Kit is used, this problem will not occur.

Additional reference words: 2.60 setupwizard DK


INF: FoxPro 2.6 Enhancements to the Xbase Language

Article ID: Q113800

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the enhancements to the Xbase language in

FoxPro 2.6.

This information is also available in the FoxPro Windows-style online Help

file (FOXHELP.HLP). To go directly to this topic, choose dBASE Help from

the Help menu, and then select "FoxPro Enhancements to the Xbase Language."

MORE INFORMATION

================

                 FOXPRO ENHANCEMENTS TO THE XBASE LANGUAGE

                 =========================================

FoxPro contains many commands and functions that do not exist in dBASE IV

(or, of course, dBASE III PLUS). Here is a partial list of those commands.

Memory Variable/Array Manipulation

----------------------------------

   ACOPY()

   ADEL()

   ADIR()

   AELEMENT()

   AFIELDS()

   AINS()

   ALEN()

   ASCAN()

   ASORT()

   ASUBSCRIPT()

   SCATTER

General Commands and Functions

------------------------------

   BETWEEN()

   CURDIR()

   EMPTY()

   EXTERNAL

   FOR ... ENDFOR ..NEXT

   GETFILE()

   GOMONTH()

   HEADER()

   HELP IN WINDOW

   LOCFILE()

   OCCURS()

   ON()

   POP KEY

   PUSH KEY

   RDLEVEL()

   RESTORE FROM FROM <file> | FROM MEMO

   RESTORE MACROS FROM <file> | FROM MEMO

   SCHEME()

   SCOLS()

   SET HELP TO

   SET HOURS TO 12|24

   SET NOTIFY ON|OFF

   SET PDSETUP TO

   SET RESOURCE

   SET SHADOWS

   SET TRBETWEEN

   SET UDFPARMS

   SROWS()

   TARGET()

   WAIT WINDOW

Low-Level File I/O Functions

----------------------------

   FCHSIZE()

   FCLOSE()*

   FCREATE()*

   FEOF()*

   FERROR()*

   FFLUSH()*

   FGETS()*

   FOPEN()*

   FPUTS()*

   FREAD()*

   FSEEK()*

   FWRITE()*

   HEADER()*

   * found only in dBASE IV version 1.5 or 2.0

SQL Statements

--------------

   CREATE TABLE FROM ARRAY

   INSERT INTO ... VALUES ... FROM ARRAY

   SELECT ALL ... DISTINCT ... FROM INTO

   SET ANSI

Window Processing Commands and Functions

----------------------------------------

   WBORDER()

   WCHILD()

   WCOLS()

   WEXIST()

   WLAST()

   WLCOL()

   WLROW()

   WMAXIMUM()

   WMINIMUM()

   WONTOP()

   WOUTPUT()

   WPARENT()

   WREAD()

   WROWS()

   WVISIBLE()

Menu-Related Commands and Functions

-----------------------------------

   CNTBAR()

   CNTPAD()

   POP MENU ... TO MASTER

   POP POPUP

   PRMBAR()

   PRMPAD()

   PUSH MENU

   PUSH POPUP

   RELEASE BAR

   RELEASE PAD

   SET MARK OF

   SET STICKY

   SET SYSMENU

   SIZE POPUP

   SKPBAR()

   SKPPAD()

Keyboard and Mouse Commands and Functions

-----------------------------------------

   CAPSLOCK()

   CHRSAW()

   INSMODE()

   KEYBOARD

   MDOWN()

   NUMLOCK()

   SET MOUSE TO

Text and Data Formatting

------------------------

   ATCLINE()

   ATLINE()

   PUTFILE()

   MODIFY MEMO

   @ ... EDIT - Text Edit Regions

Project/Create Application Commands

-----------------------------------

   BUILD APP ... FROM <project>

   BUILD EXE FROM  <project>

   BUILD PROJECT

Screen-Related Commands

-----------------------

   _CUROBJ

   OBJNUM()

   RESTORE SCREEN FROM memvar

   SHOW GET ... ENABLE | DISABLE

   SHOW GETS ENABLE | DISABLE

   SHOW OBJECT

Generator Directives

--------------------

   #ITSEXPRESSION

   #READCLAUSES

   #REDEFINE

   #SECTION

   #WNAME

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp improvement

superset


PRB: Can't Rearrange Selected Field Order in Screen/Report Wiz

Article ID: Q113801

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SYMPTOMS

========

You cannot rearrange the order of fields in the Selected Fields list

box of the Screen Wizard or Report Wizard.

WORKAROUND

==========

Add the fields to the Selected Fields list box in the order you want.

STATUS

======

Microsoft is researching this problem and will post new information here in

the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Identifying the Dialog Box

--------------------------

Regardless of whether FoxPro for Windows or MS-DOS is run, or whether the

Screen Wizard or Report Wizard is used, the dialog box containing the

Selected Fields list box always contains the following question:

   Which fields do you want to include?

Steps to Reproduce Problem Using Screen Wizard

----------------------------------------------

1. From the Run menu, choose Wizard. Choose Screen.

2. Choose Open. Select CUSTOMER.DBF from the TUTORIAL subdirectory in the

   main FoxPro directory. Choose Open.

3. Choose Next.

4. Choose Add All.

Note that you cannot rearrange the order of the fields placed in the

Selected Fields list box.

Additional reference words: 2.60 mover move listbox


ERR: "Wrong Version of Word Is Running. Mail Merge Cancelled."

Article ID: Q113804

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

FoxPro 2.6 contains a Mail Merge Wizard that allows data to be output in a

variety of formats. If Microsoft Word 6.0 for Windows is running, is first

in the MS-DOS search path, or is the only version of Word available and

Microsoft Word 2.0 for Windows is chosen as the output format, the mail

merge will be cancelled with the following error message:

   The wrong version of Microsoft Word is running. Mail Merge cancelled.

The error will also occur if Microsoft Word 2.0 is running, is first in the

MS-DOS search path, or is the only version available and Microsoft Word 6.0

is chosen as the output format.

RESOLUTION

==========

To avoid this problem, do one of the following:

 - If a delimited file is required, choose Word for MS-DOS or Other as the

   word processor. This will create an output file of ASCII-delimited data.

   You must then manually start the desired version of Word and begin the

   mail merge in order to use this file.

   -or-

 - If both Word 6.0 for Windows and Word 2.0 for Windows are installed on

   the same machine, start the desired version of Word before starting the

   Mail Merge Wizard.

   -or-

 - If Word 2.0 is the only version available, do not select Word 6.0 as the

   output format from the Mail Merge Wizard.

MORE INFORMATION

================

The Mail Merge Wizard initiates a DDE session with Word and verifies which

version of Word is running.

The mail merge function was enhanced significantly in Word 6.0 to allow use

of the Windows ODBC drivers. The ODBC drivers allow Word to directly access

data from a FoxPro table and allow access to memo field data. Word 2.0,

however, requires that the data be copied to an ASCII-delimited file prior

to the merge and does not allow the use of memo field data.

Steps to Reproduce Behavior

---------------------------

1. Start Word 6.0 for Windows.

2. Start the FoxPro Mail Merge Wizard.

3. Select any data table.

4. Select Word 2.0 for Windows as the word processor.

5. Choose Finish to skip to step 5, and then choose Finish again.

The error should now occur.

Additional reference words: 2.60 print errmsg err msg


PRB: ??? Command Issued Before Running Report Is Ignored

Article ID: Q113805

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Printer control codes sent directly to the printer prior to running a

report created with the Report Writer are overwritten if a printer driver

is in effect.

CAUSE

=====

Although the triple question mark command (???) can be used to issue

commands directly to a printer when you are hard-coding a report, the

printer settings will have no effect when they are used in conjunction with

a FoxPro report created with the Report Writer, which uses a printer

driver. FoxPro for MS-DOS printer drivers and the Windows printer drivers

issue their own commands to reset the printer before printing a report

created with the Report Writer.

RESOLUTION

==========

To work around this behavior, do one of the following:

 - Specify that no printer driver be used for the report:

    - For FoxPro for MS-DOS, issue the following command before running the

      report:

         SET PDSETUP TO ""

    - For FoxPro for Windows, select the Generic/Text Only driver, and make

      sure that PDSETUP does not appear in the REPORT FORM command.

   -or-

 - Modify the P_CODES database, adding a new record containing the codes

   you want to have issued before the report is run.

   For information about how to modify the P_CODES database, please see the

   following article(s) in the Microsoft Knowledge Base:

      ARTICLE-ID: Q89000

      TITLE     : INF: How to Edit the FoxPro P_CODES Database

   -or-

 - Create a user procedure for PDDOCSTART.

Additional reference words: 2.60 escape xbase


PRB: "Attempt to Use FoxPro Function As an Array" Error

Article ID: Q113806

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Compiling a .PRG file that contains an array declaration in which the array

name is the same as the name of a FoxPro function produces the following

error message:

   Attempt to use FoxPro function as an array.

For example, the following code produces the above error in FoxPro:

   DECLARE abs[1,1]

However, the same code compiles without error in dBASE IV.

CAUSE

=====

This difference in behavior is attributed to the fact that dBASE uses

brackets for arrays only. If square brackets ([]) are used in a statement,

the dBASE compiler assumes that an array is referenced. If parentheses (())

are used, an intrinsic or user-defined function (UDF) is assumed.

FoxPro allows either brackets or parentheses to be used with arrays or

functions and does not distinguish between arrays and functions based on

the argument delimiter used.

RESOLUTION

==========

Rename the array with a unique name; make sure you avoid using any reserved

words.

For a list of FoxPro keywords, please see the following article in the

Microsoft Knowledge Base:

   ARTICLE-ID: Q96293

   TITLE     : INF: Keywords for FoxPro 2.0 and 2.5

Additional reference words: 2.60 fp26 dimension dimensional errmsg err msg


PRB: Catalog Manager Allows Incorrect File Types to Be Added

Article ID: Q113807

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

Although the file type is not checked when a file is added to the Catalog

Manager, the following error message will appear when an attempt is made to

open the file from within the catalog:

   Error 18:  (Line too long) at line 84 occurred while running <.CDX>

RESOLUTION

==========

To avoid this problem, make sure that the extension of the file to be added

to the Catalog Manager is valid for the selected category. Additionally,

avoid renaming files from one extension to another valid yet incorrect file

type extension, such as "RENAME myfile.CDX TO myfile.DBF".

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Open a catalog.

2. Select the Query tab and choose the Add button.

3. In the Add dialog box, select the All Files check box.

4. Select a .CDX file. When you see the message "Was <.CDX> created in

   FoxPro?", choose OK.

5. Try to use the newly added .CDX file in the query list. The error

   message mentioned above should appear.

Additional reference words: 2.60 fp26 catman


INF: How to Determine Number of Records Returned by SQL-SELECT

Article ID: Q113808

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

You can create generic SELECT statements that programmatically produce

result sets of records to be output for viewing in a number of ways.

However, in certain instances, a SELECT statement may not produce any

records in the query based on the SQL criteria provided.

To avoid having a program act upon an empty result, the system variable

_TALLY can be evaluated immediately after a query has been executed in

order to determine the number of records that have been selected. For more

information about _TALLY, see the code example below.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

The following rudimentary example illustrates the usage of the _TALLY

system variable:

   * GENERIC.QPR

   *

   SET STATUS OFF && SET STATUS BAR OFF in FoxPro for Windows

   fyl = GETFILE('DBF','Choose a database:')

   USE (fyl)

   LIST STRUCTURE

   USE

   ACCEPT 'Enter field list, separated by commas (or ENTER for all):' ;

      TO flds

   IF EMPTY(flds)

      flds='*'

   ENDIF

   ?

   ACCEPT 'Enter conditions (or ENTER for none) ' TO cond

   IF EMPTY(cond)

      cond=''

   ELSE

      cond='WHERE '+cond

   ENDIF

   SELECT &flds FROM (fyl) &cond INTO CURSOR query NOCONSOLE

   IF _TALLY>0

      BROWSE

   ELSE

      WAIT WINDOW 'No matching records found...'

   ENDIF

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 null blank


PRB: FoxPro for Mac Displays Dialog Boxes in Unreadable Font

Article ID: Q113809

-----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

-----------------------------------------------------------------------

SYMPTOMS

========

Some of the dialog boxes or other screen elements in FoxPro for Macintosh

may appear in FoxFont, which may look unappealing or be unreadable. Among

others, the affected items may include the New File dialog box, the Font

dialog box, the View window, or the status bar.

CAUSE

=====

According to Part 4 of the "FoxPro Readme" file, the minimum fonts

required to run FoxPro for Macintosh are Geneva 9, Courier 10, and Monaco

9. If any of these fonts are not installed or available to the System,

FoxFont may be substituted.

RESOLUTION

==========

To correct the problem, you may need to disable any third-party font

packages. If the Geneva font is not installed on the Macintosh, you can

copy it to the System Folder from the Fonts disk that ships with the

Macintosh System 7 software.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Quit FoxPro for Macintosh.

2. Do one of the following, depending on which version of the System

   software you are using:

    - If you are using System 7.1, drag the Geneva font from the System

      Folder:Fonts folder to the Macintosh desktop.

    - If you are using System 7.0, drag the Geneva font from the System

      Folder:System file to the Macintosh desktop.

3. Start FoxPro.

Note that the text in the View window and the status bar is now displayed

in FoxFont.

Additional reference words: 2.50b weird funny strange unusual ugly


INF: How to Disable Browse Field "Select on Entry" Behavior

Article ID: Q113810

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

By default, the contents of a field in a Windows-based application are

automatically selected upon entry into the field.

To disable this feature only during a BROWSE, issue SET KEYCOMP TO DOS in

the WHEN clause of the BROWSE statement. To allow "select on entry"

behavior for individual fields while in this mode, use an @K picture clause

where desired in a FIELDS clause list.

Example

-------

This example assumes that a database has been selected and opened and that

SET("KEYCOMP")="WINDOWS" is true:

   * NO_SLECT.PRG

   BROWSE WHEN doson()

   SET KEYCOMP TO WINDOWS

   PROCEDURE doson

   SET KEYCOMP TO DOS

Additional reference words: 2.50 2.50a 2.50b 2.60 highlight replace erase

overwrite delete


PRB: TAB Key Does Not Trigger List Box's VALID Clause

Article ID: Q113811

---------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

---------------------------------------------------------------------

SYMPTOMS

========

Contrary to expectation, the TAB key does not trigger a list box's VALID

clause.

CAUSE

=====

Unlike most screen GET objects, in order for its VALID clause to be

executed, a list box requires a selection be made with a press of the ENTER

key or a double-click of the mouse. Even though positioning the highlight

bar on a particular entry in a list box and pressing the TAB key updates

the list-box variable's value, the VALID clause is ignored.

STATUS

======

This behavior is by design.

REFERENCES

==========

"Language Reference," version 2.5, page L3-77

"Commands & Functions," version 2.0, page C3-50

Additional reference words: 2.00 2.50 2.50a 2.50b listbox


INF: How to Create a Menu with a Variable Pad

Article ID: Q113812

---------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

---------------------------------------------------------------------

SUMMARY

=======

This article demonstrates how to make a menu choice vary with the contents

of a database field by using the Menu Builder and very little code.

MORE INFORMATION

================

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

The following steps show how to create a menu that contains a pad whose

name equals the CITY field of the current record in SALESMAN.DBF, one of

the sample databases provided with FoxPro.

 1. In the Command window, issue the following commands to set the default

    working directory to the TUTORIAL subdirectory and open the

    SALESMAN.DBF database:

       SET DEFAULT TO C:\<FoxPro directory>\TUTORIAL

       USE SALESMAN

 2. In the Command window, type the following command to display the

    database's structure:

       DISPLAY STRUCTURE

    Note that the database contains a character field called CITY.

 3. In the Command window, type the following command to create a menu

    design called CHGPAD:

       CREATE MENU CHGPAD

 4. In the Prompt box, type the following text:

       \<"+alltrim(city)+"

    Notes

    -----

    - Lowercase is not required above, but it will make searching for this

      text later in the generated code easier.

    - "\<" tells FoxPro to highlight the first letter of this menu pad and

      use it as a hot key (this will be the first letter of the city's

      name). ALLTRIM(CITY) removes leading and trailing spaces from the

      contents of the CITY field.

    - The quotation marks are used in anticipation of the menu code that

      will be generated by the Menu Builder (see the DEFINE PAD statement

      in step 8).

 5. Choose Options, then Pad Name, and enter CityPad for the pad name.

    Choose OK to close the Pad Name dialog box. Choose OK again to close

    the Options dialog box.

 6. To generate the menu-code file CHGPAD.MPR, choose Generate from the

    Program menu. Choose Yes when asked if you want to save the menu

    design CHGPAD.MNX, and then choose Generate in the subsequent dialog

    box.

 7. Press ESC to close the menu-design window.

 8. In the Command window, view the generated menu code by typing:

       MODIFY COMMAND CHGPAD.MPR

    Look for the following DEFINE PAD statement in the code:

       DEFINE PAD CityPad OF _MSYSMENU PROMPT "\<"+alltrim(city)+"" ;

       COLOR SCHEME 3

    Note that the item entered in the Prompt box during menu design

    (\<"+alltrim(city)+") was inserted in the menu code. The two quotation

    marks you typed in were needed to close off the two quotation marks

    automatically inserted by the Menu Builder. This results in the

    concatenation of CITY as a field, not as the word "CITY".

 9. Select the above line of code, copy it to the Clipboard by pressing

    CTRL+C, and press the ESC key to return to the Command window.

10. In the Command window, type "MODIFY COMMAND CHGPAD" (without the

   quotation marks), and then type the following program lines (you can

   paste the DEFINE PAD line below from the Clipboard by pressing CTRL+V):

       SET DEFAULT TO C:\<FoxPro directory>\TUTORIAL

       USE SALESMAN

       GO TOP              && Go to 1st record

       DO CHGPAD.MPR       && Display CHGPAD menu with 1st record's city

       WAIT WINDOW "The menu pad shows the first record's city...press ;

          the SPACEBAR"

       SKIP                && Go to 2nd record; redefine pad for its city

       DEFINE PAD CityPad OF _MSYSMENU PROMPT "\<"+alltrim(city)+"" ;

       COLOR SCHEME 3

       WAIT WINDOW "The menu pad shows the next record's city...press ;

          the SPACEBAR"

      SET SYSMENU TO DEFAULT  && Restore system menu

11. Press CTRL+W to exit and save this program as CHGPAD.PRG.

12. In the Command window, type the following command to execute the

   program:

       DO CHGPAD

You can apply the above technique to a screen by placing the aforementioned

DEFINE PAD statement in the screen's READ-level SHOW clause; this way,

whenever SHOW GETS is used to refresh a screen's GET fields (for example,

when displaying another record), the menu pad will be updated to reflect

the new record's city.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 variable


PRB: ACTIVATE WINDOW Causes "Syntax Error" Message

Article ID: Q113813

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

The ACTIVATE WINDOW command generates a "Syntax Error" message when the

window name starts with a number.

RESOLUTION

==========

To avoid this behavior, make sure your window names do not start with

numbers.

MORE INFORMATION

================

Steps to Reproduce Behavior

---------------------------

1. Create an quick report.

2. Save the report as 123.FRX.

3. In the Command window, type the following commands:

      x="123.FRX"

      MODIFY REPORT 123

      * now click on the command window to switch window focus

      ACTIVATE WINDOW (X)

The DEFINE WINDOW command will not let you define a window with a number as

the first character. You will receive a "Syntax Error" message when

attempting to do this.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 errmsg err msg


INF: How to Create and Use Catalog (.FPC) Files

Article ID: Q113893

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SUMMARY

=======

The Catalog Manager stores information about the currently selected catalog

in a "catalog file." A catalog file is an ordinary .DBF file with an .FPC

extension and the same name as the catalog whose information it contains.

The default file extension for the file containing memo fields associated

with a catalog file is .FCT, whereas the default file extension for a file

containing memo fields associated with a typical .DBF file is .FPT.

MORE INFORMATION

================

To support the concept of a catalog file, certain changes were made to the

USE command and to the CREATE TABLE command in FoxPro 2.6 for Windows and

MS-DOS.

If you create an .FPC file and the file has one or more memo fields, the

associated memo file will be created with an extension of .FCT.

For example, the following code will produce two files (TEST.FPC and

TEST.FCT):

   CREATE TABLE test.fpc (one C(2), two M)

By contrast, the following code will produce a different set of files

(TEST.DBF and TEST.FPT):

   CREATE TABLE test.dbf (one C(2), two M)

If the extension of the file is anything other than .FPC and the file

contains a memo field, the associated file will have an extension of .FPT.

The .FCT extension is created only when the table has an extension of .FPC.

The USE command has also been modified in FoxPro 2.6 for Windows and MS-DOS

to support .FPC files. If a database file ending with an .FPC extension is

opened with a USE command and that database file has a memo field, the USE

command will search for a memo file with an .FCT extension. If the USE

command is issued to open a database file that does not have an .FPC

extension and the database file has a memo field, the USE command will

search for a memo file with a standard .FPT extension.

Additional reference words: 2.60


INF: Unsupported dBASE IV Commands

Article ID: Q113894

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the dBASE IV commands not supported by

FoxPro. This information is also found in the "Switching from dBASE" topic

in FoxPro 2.6 Help.

To go directly to this topic in FoxPro, choose dBASE Help from the Help

menu.

MORE INFORMATION

================

The following commands and functions generate an error if they are run in

FoxPro. They need to be removed from your program code:

   BEGIN TRANSACTION

   CONVERT

   END TRANSACTION

   PROTECT

   ROLLBACK

The following commands and functions are not useful in FoxPro:

   Keyword             Result

   ---------------------------------------

   ACCESS()            Ignored

   NETWORK()           Always returns .T.

   SET("CATALOG")      Always returns OFF

   SET DBTRAP          Ignored, always OFF

   SET("DESIGN")       Always returns OFF

   SET IBLOCK TO       Ignored

   SET("INSTRUCT")     Always returns OFF

   SET LDCHECK         Ignored

   SET("LDCHECK")      Always returns OFF

   SET("PRECISION")    Always returns 16

   SET("SQL")          Always returns ON

   SET("TRAP")         Always returns ON

   SET("VIEW")         Always returns ""

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp tts convert


INF: How to Set Width of Embedded Memos in Text Merge Output

Article ID: Q113921

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

A useful feature of the TEXTMERGE command is the ability to output a form

letter containing text merge delimited fields that have been stored in the

memo field of a database. Unfortunately, the SET MEMOWIDTH TO command is

ignored for any memo fields that are embedded in the form letter.

To work around this behavior, use the following user-defined function

(UDF), which allows the memo text to appear at the desired location and

wrap at the column specified by SET MEMOWIDTH TO.

MORE INFORMATION

================

Assuming a desired width of 35 for the memo field (starting at the 20th

column), you can create the UDF as follows:

1. In the Command window, type:

      MODIFY COMMAND limit

   NOTE: You can replace the UDF name "Limit" with another name, of 8

   characters or less, conforming to the MS-DOS file-naming conventions.

2. In the LIMIT.PRG edit window, type the following lines:

      SET MEMOWIDTH TO 35

      ?? Comments AT 20

      RETURN ""

To use this solution, replace the memo field name in the form letter with

the name of the UDF. For example, wherever the memo field appears as

"<<Comments>>" in the form letter, it should now say "<<Limit()>>" (without

the quotation marks).

Additional reference words: 2.50


INF: How to Undo ON KEY LABEL ENTER Command After Error

Article ID: Q113922

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

Under certain circumstances, you may want to redefine the ENTER key so that

it performs an action, such as executing a procedure. However, if an error

occurs during development before the ENTER key is returned to its original

state, no commands can be entered in the Command window, and the statement

following the ON KEY LABEL ENTER command will attempt to execute instead.

MORE INFORMATION

================

Issuing the command "ON KEY LABEL ENTER <function or command>" prior to the

point at which that action is desired will cause that statement to be

executed when the ENTER key is pressed. To return the ENTER key to its

normal functionality, the command "ON KEY LABEL ENTER" (with nothing

following it) should be the first line of code in the procedure or function

(or the second line if there is a PARAMETER statement).

However, errors may occur before the line returning the ENTER key to the

default is executed, preventing the ENTER key from terminating commands in

the Command window. The following methods will allow you to restore the

normal functionality of the ENTER key.

After returning to the Command window from the error condition, do the

following:

Method 1

--------

1. In FoxPro for MS-DOS, choose Macros from the System menu. In FoxPro for

   Windows, choose Macros from the Program menu.

2. Select an unused default macro, such as F3.

4. Choose the Edit button.

5. Type the following:

      ON KEY LABEL enter{LITERAL+ENTER}

6. Choose OK twice to close the Edit and Macros windows.

7. Press the macro key you just assigned.

NOTE: The above method will not work if the macro key you chose is already

assigned an action by an ON KEY LABEL command. For example, if the command

ON KEY LABEL F3 WAIT WIND TIME() is issued at the beginning of a FoxPro

session and is never released, the macro editor will still show the default

of "LIST{ENTER}" for F3. Even though the macro is redefined, the ON KEY

LABEL trap will have precedence, and the current time will be displayed

instead.

Method 2

--------

1. From the File menu, choose New. In the New File dialog box, choose

   Program and then choose New.

2. In the UNTITLED.PRG window, type the following command:

      ON KEY LABEL ENTER

3. Press CTRL+O to execute the program and choose Yes to save changes.

   Type a name for the program and then choose Save.

The ENTER key is now reset.

Additional reference words: 2.50 2.50a 2.50b 2.60 hung hang return ignored


INF: Converting dBASE Files to FoxPro

Article ID: Q113942

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below explains how to convert dBASE files into FoxPro

files. This information is also found in the "Switching from dBASE" topic

in FoxPro 2.6 Help.

To go directly to this topic in FoxPro, choose dBASE Help from the Help

menu.

MORE INFORMATION

================

FoxPro 2.6 has new tools, as well as new and enhanced commands and

functions, to maximize dBASE compatibility.

The Catalog Manager and AutoMigrate technology make converting dBASE files

to FoxPro easy. The Catalog Manager activates AutoMigrate and allows you to

open and manipulate existing dBASE catalogs and files. AutoMigrate works

behind the scenes to automatically convert your dBASE files for immediate

use in FoxPro by modifying dBASE tables and creating new FoxPro screens,

reports, labels, and queries based on the format of existing dBASE files.

Conversion takes no effort on your part and does not prevent you from using

the files again in dBASE.

Except for tables with memo fields, all your original dBASE files remain

intact when they are converted for use in FoxPro. If your table has an

index, AutoMigrate rebuilds it.

In FoxPro for Windows, AutoMigrate also automatically transports files from

MS-DOS to Windows. For more information on transporting, see Transporting

Files. dBASE queries and programs run without conversion. They are

automatically recompiled in FoxPro.

NOTE: Compiled dBASE programs (.QBO, .FMO, .FRO, .LBO, and .DBO files)

cannot be run in FoxPro unless the source code (.PRG) or design file (.QBE,

.SCR, .FRG, .LBL) is available.

Converting Individual dBASE files to FoxPro:

   AutoMigrate automatically converts dBASE files when you:

 - Use a table with existing indexes or a memo field.

 - Use or choose to modify a query.

 - Run or modify a screen.

 - Run or modify a report.

 - Run or modify a label.

Effects of Conversion:

Tables

(Databases)     AutoMigrate converts dBASE tables when you use them.

                See Converting Tables for details.

Queries         AutoMigrate converts dBASE queries when you modify

                them. See Converting Queries for details.

Screens (Forms) AutoMigrate converts dBASE forms to FoxPro screens

                when you modify or run them. Information about

                objects, fields, and so on is contained in a design

                file in dBASE. FoxPro copies the information in the

                dBASE file to a FoxPro .SCX file. Because of

                differences between MS-DOS and Windows, the appearance

                of your converted screens may need to be adjusted a

                little bit.

Reports

and Labels      AutoMigrate converts dBASE reports and labels when you

                modify or print them. See Converting Reports and

                Labels for details.

Programs        In most cases, no changes need to be made to dBASE

                programs. They are recompiled in FoxPro when you run

                them. See Converting Programs and Applications for

                details.

Converting Tables

-----------------

dBASE tables that have memo fields and/or indexes are converted when you

use them.

Encrypted Tables:

If your table is encrypted, you'll need to decrypt it in dBASE before

conversion can take place.

Indexes:

FoxPro uses a different indexing algorithm than dBASE, so if the table

being converted has an associated dBASE .MDX or .NDX index, FoxPro

automatically creates a FoxPro .CDX or .IDX index for the table.

To use a dBASE IV table with an index and without a memo field in dBASE

after FoxPro has converted it, open the file in dBASE and reindex. This

step is necessary only if you have changed any of the data.

Tables with Memo Files:

If a dBASE table has one or more memo fields, FoxPro automatically converts

the memo file so that it is compatible with FoxPro. You can use a dBASE III

table or a dBASE IV table with a memo field in dBASE after it has been

converted into FoxPro.

To use a dBASE table after it has been converted to a FoxPro format:

1. From the Data menu, choose Export... to open the Export dialog.

2. In the Export dialog, choose dBASE III/IV with Memo from the File

   Type popup.

3. Choose the Save As... button to enter a new name for the table.

4. Choose Export.

WARNING: Large memo fields may be truncated when converted back to a dBASE

format after you have used this conversion procedure.

Converting Reports and Labels

-----------------------------

When FoxPro converts reports and labels, FoxPro creates an .FRX file with

the information from the dBASE .FRM file, and a .LBX file with the

information from the dBASE .LBL file.

What FoxPro Converts:

FoxPro converts all bands, fields, calculated fields, hidden fields,

picture templates, and functions for fields. FoxPro also converts style

attributes such as underline, bold, italic, and colors. Fonts are not

converted.

Word-wrap bands are converted to a series of one-line text fields in FoxPro

reports. Band spacing and pitch information is not converted. FoxPro does

not use a global ruler or a word-wrap paragraph ruler, so this information

is not retained. Converted reports will have a right margin equal to the

width of the report. The left margin is not changed but can be set in the

FoxPro Report Writer

Reports with tab characters may need to have their fields rearranged to

achieve the desired appearance.

Differences After Conversion:

Since empty report bands print in dBASE, FoxPro adds null characters to

these bands so they will also print in FoxPro.

dBASE reports do not store complete environment information, only database

aliases. As a result, upon opening a converted report, you might get an

error such as "Customer.dbf not found." FoxPro reports can save database

names, relations, skips, and index information. Once in the Report Writer,

set up the environment the way you want it and then save that information

with that report. No more such errors will appear.

Troubleshooting Hard-coded Reports:

If the report is hard-coded, rather than created through the dBASE Report

Design Tool, you'll want to keep in mind the following points:

 - Interspersing ??? printer direct control commands with @ ... SAY

   commands can cause a problem with the output.

 - If the report uses @ PROW() SAY commands to direct output to the

   printer, EJECT can cause the printer to feed a new page before all the @

   ... SAY fields have been sent to the printer. You can avoid this by

   replacing EJECT with @ 0,0 SAY "".

 - Make sure the command SET PRINTER TO is included at the end of the

   printing loop to force the output to the printer.

Converting Queries

------------------

FoxPro allows you to work with three types of queries: SQL queries,

Updatable queries (.FPQ), and, in the Professional Edition, Client-Server

queries (.CSQ). When you modify a dBASE .QBE query in the Updatable Query

Wizard, FoxPro creates an .FPQ file.

If you add an aggregate function, such as SUM() or AVG() to a dBASE query

or an .FPQ query, FoxPro creates an equivalent .QPR file, using SQL to

handle the more complex query.

Converting Programs and Applications

-----------------------------------

In general, dBASE IV programs and applications run unchanged in

FoxPro. When you choose to run a dBASE program, FoxPro recompiles the

.PRG file into an .FXP file and runs the .FXP.

Because of the differences in SQL implementation, dBASE IV .PRS

programs cannot be run in FoxPro.

RunTime Errors:

If a dBASE program produces a runtime error or unexpected results, you can

debug the program using the FoxPro debugging tools, Trace and Debug.

The Trace window allows you to step through your code a line at a time. The

Debug window has two panels. You can enter variables or FoxPro functions in

the left panel. The right panel displays the runtime values assigned to the

variables or returned by the functions. For more information about

debugging in FoxPro, see the "Program Menu" chapter of the FoxPro "User's

Guide" and the "Debugging Your Application" chapter of the FoxPro

"Developer's Guide."

Syntax Errors:

If a syntax error occurs when you are running a program, FoxPro highlights

the error line in an editing window. You can use the Help file to check the

proper syntax and usage for the command or function that caused the error.

Debugging Tips:

 - Make sure that the program does not include one of the six unsupported

   commands and functions listed in Unsupported dBASE IV Commands and

   Functions.

 - Make sure that the dBASE program does not have a procedure, function,

   variable, or an array named with any of the FoxPro reserved words.

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp


INF: New and Enhanced Commands and Functions in FoxPro 2.6

Article ID: Q113943

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the commands and functions that are new to,

or enhanced in, FoxPro 2.6.

This information is also found in FoxPro Help in the "What's New Since

FoxPro 2.5" topic.

MORE INFORMATION

================

NEW FOXPRO COMMANDS AND FUNCTIONS

---------------------------------

The following commands, functions and system memory variables have

been added to FoxPro 2.6, primarily for compatibility with dBASE IV.

Command,

Function, or

System

Memory            FoxPro

Variable          Reference

----------        ---------

_ASSIST           See _ASSIST

ASSIST            ASSIST

                  Brings up the FoxPro Catalog Manager. For dBASE

                  compatibility only.

BARCOUNT()        See CNTBAR()

BARPROMPT()       Same functionality as PRMBAR() but parameter

                  positions are reversed.

BLANK             See BLANK

DESCENDING()      See DESCENDING()

FOR()             See FOR()

FDATE()           FDATE(<expC>)

                  Returns the date when a file was last modified. For

                  dBASE compatibility only.

FLDLIST()         FLDLIST([<expN>])

                  Returns the fields specified with SET FIELDS. For

                  dBASE compatibility only.

FTIME()           FTIME(<expC>)

                  Returns the time a file was last modified. For dBASE

                  compatibility only.

HOME()            Same as SYS(2004)

ID()              Same as SYS(0)

ISBLANK()         See ISBLANK()

ISREADONLY()      See ISREADONLY()

KEYMATCH()        See KEYMATCH()

FLDCOUNT()        Same as FCOUNT()

MEMORY(0)         Same as SYS(1001)

MEMORY(1)         Same as SYS(1001)

MEMORY(2)         Same as SYS(12)

MEMORY(3)         Same as SYS(1001)

MEMORY(4)         Same as SYS(23)

MEMORY(5)         Same as SYS(23)

MEMORY(6)         Same as SYS(1016)

MEMORY(7)         Returns 0

NORMALIZE()       See NORMALIZE()

OBJVAR()          See OBJVAR()

ON BAR            See ON BAR

ON EXIT BAR       ON EXIT BAR <expN> OF <popup name> [<command>]

                  Executes a command when you choose a different menu

                  option. For dBASE compatibility only.

ON EXIT MENU      ON EXIT MENU <menu name> [<command>]

                  Executes a command when you choose a different menu

                  popup. For dBASE compatibility only.

ON EXIT PAD       ON EXIT PAD <pad name> OF <menu name> [<command>]

                  Executes a command when you choose a different menu

                  pad. For dBASE compatibility only.

ON EXIT POPUP     ON EXIT POPUP <popup name> [<command>]

                  Executes a command when you choose a different popup

                  in a menu. For dBASE compatibility only.

ON MENU           Same as ON SELECTION MENU

ON MOUSE          Same as ON KEY LABEL LEFTMOUSE

ON PAD            Same as ON SELECTION PAD

ON POPUP          Same as ON SELECTION POPUP

PADPROMPT()       Same as PRMPAD()

PCOUNT()          PCOUNT()

                  Returns the number of parameters that were passed to

                  the most recently called program procedure, or user-

                  defined function (UDF). For dBASE compatibility

                  only.

PRTINFO()         See PRTINFO()

REPLACE FROM

ARRAY             See REPLACE FROM ARRAY

RUN()             Same as RUN

SET

("ATTRIBUTES")    SET("ATTRIBUTES")

                  Returns color settings specified with SET COLOR. For

                  dBASE compatibility only.

SET DIRECTORY     Same as SET DEFAULT

SET

("DIRECTORY")     Same as SYS(5) + SYS(2003)

SET("DISPLAY")    For dBASE compatibility only

SET FIELDS        See SET FIELDS

SET FORMAT        See SET FORMAT

SET KEY           See SET KEY

SET("LIBRARY")    See SET LIBRARY

SET MBLOCK        See SET BLOCKSIZE

SET("MBLOCK")     See SET BLOCKSIZE

SET VIEW          See SET VIEW

SYS(1037)         Print Setup Dialog. See SYS(1037)

TAG()             TAG([[<cdx filename>,] <expN> [, <alias>]])

                  Returns TAG names from a .CDX file. For dBASE

                  compatibility only.

TAGCOUNT()        TAGCOUNT([<cdx filename> [, <alias>]])

                  Returns the number of tags in .CDX file. For dBASE

                  compatibility only.

TAGNO()           TAGNO([<order name> [, <cdx filename> [, <alias>]]])

                  Returns a tag number from a .CDX file. For dBASE

                  compatibility only.

UNIQUE()          Returns .T. if the specified index was created with

                  the UNIQUE keyword or with SET UNIQUE ON. For dBASE

                  compatibility only.

USER()            USER()

                  Returns a user's network name. For dBASE

                  compatibility only.

WINDOW()          Same as WOUTPUT()

_SHELL            See _SHELL

ENHANCED FOXPRO COMMANDS

------------------------

The following FoxPro commands have been enhanced:

 - BROWSE has a new keyword, NOINIT, which works the same as BROWSE

   LAST.

 - KEYBOARD has a new keyword, CLEAR.

 - SET LIBRARY has been enhanced to work with procedure files as well

   as API libraries.

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp


CLEAR SCREENS Causes "Unrecognized Phrase/Keyword in Command"

Article ID: Q113959

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

The CLEAR SCREENS command produces an "Unrecognized phrase/keyword in

command" error message.

CAUSE

=====

FoxPro does not support this dBASE IV command.

RESOLUTION

==========

The RELEASE command can be used to release a variable that is used to store

a screen image. For example, instead of using these commands

   SAVE SCREEN TO test

   CLEAR SCREENS

you can use these commands:

   SAVE SCREEN TO test

   RELEASE test

The RELEASE command will release the memory variable.

MORE INFORMATION

================

In dBASE IV, the CLEAR SCREENS command releases memory used by screens that

are saved to memory variables with the SAVE SCREEN TO command. This command

is not supported in FoxPro regardless of whether the SET COMPATIBLE DB4

command is issued.

Additional reference words: 2.60 differences errmsg err msg


INF: Description of Catalog Manager's AutoScreen Tool

Article ID: Q113960

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The Catalog Manager contains an AutoScreen tool that creates and runs a

screen for the active table or query using the default settings in the

Screen Wizard. This tool is disabled if no table or query is in use.

MORE INFORMATION

================

To run the AutoScreen tool, choose the AutoScreen button (above the Label

tab) in Catalog Manager, or choose AutoScreen from the Tools menu.

Choosing the AutoScreen tool brings the Screen tab to the front. After the

screen is generated and compiled, it runs.

Each field appears on a separate line with a label to its left.

Default Screen Wizard Settings

------------------------------

 - Selected Fields:  All.

 - Screen Name:      First six characters of the table name, followed

                     by an underscore (_), then the number "1". (If

                     that table name already exists, the next

                     available number is used). For example, if the

                     table name is "CUSTOMER," the first screen

                     created is "CUSTOM_1." The next screen created is

                     "CUSTOM_2," and so forth.

 - Sort Order:       First field in the table.

 - Style:            Standard.

 - Button Type:      Text.

 - Title:            Table name. The title appears at the top of the

                     screen. In FoxPro for Windows, it also appears in

                     the title bar.

NOTE: In FoxPro for Windows, screens created with the AutoScreen tool can

later be modified using either the Screen Wizard or the Screen Builder

tool. In FoxPro for MS-DOS, they can only be modified using the Screen

Builder tool.

Additional reference words: 2.60 catman icon auto-screen


INF: How to Automatically Move Cursor to End of EDIT Field

Article ID: Q113970

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

In order to facilitate text editing, you may need to place the cursor at

the end of an edit region both upon entering a screen and upon moving to

another record in the database. For information about how to do this, see

below.

MORE INFORMATION

================

In order to describe the steps necessary to create a screen that

automatically moves the cursor to the bottom of an edit region, this

article makes the following assumptions:

 - The database used by the screen is called CUSTOMER.DBF.

 - The memo field is called NOTES.

 - The first GET field in the screen is for the field CNO.

 - The first field and the EDIT region are not disabled.

 - A series of buttons is employed to navigate the database.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN

RISK. Microsoft provides this code "as is" without warranty of any kind,

either express or implied, including but not limited to the implied

warranties of merchantability and/or fitness for a particular purpose.

Upon executing a screen program, the first object activated is usually the

first GET field. Therefore, the WHEN procedure of the first GET field will

be used to send the cursor to the EDIT field. However, since you might want

to enter data in the first GET field, a conditional test must be performed

to allow this to happen only the first time the field is entered. To set up

this condition, place the statement

   m.flag = .f.

in the Setup code for the screen in the Screen Builder. By testing this

variable in the WHEN clause of the CNO field (the first field) and then

changing its value, you can allow entry into CNO instead of always jumping

to the EDIT field. Placing the following code in the WHEN clause for the

CNO field will accomplish this:

   IF ! FLAG

     _CUROBJ=OBJNUM(customer.notes)  && moves cursor to EDIT field

     m.flag = .t.                    && allow access to CNO next time

   ENDIF

Now that you have arranged to have your cursor move to the EDIT region, you

are ready to perform the desired function; namely, moving the cursor to the

bottom. In preparation, the EDIT region must be set so that the entire

field is SELECTed ON ENTRY. Then, place the following code in the WHEN

clause for the EDIT field:

   KEYBOARD("{DNARROW}")

Because the entire field is selected, you only need to code one "down

arrow" character to move to the bottom of the field. The only step

remaining is to modify the VALID procedure for the navigation buttons. This

code usually consists of a DO CASE statement to process the different

buttons. Usually, the last statement in the VALID procedure will be SHOW

GETS (used to refresh the screen). Add a line immediately before the SHOW

GETS line as follows:

   _CUROBJ = OBJNUM(customer.notes)

This is the same statement you used in the WHEN procedure of the first

field to move the cursor to the EDIT field. When the screen is generated

and run, every time you move to another record using the buttons, the

cursor will be placed at the bottom of the EDIT field.

Additional reference words: 2.50 2.50a 2.50b 2.60


INF: How to Call GENXTAB.PRG

Article ID: Q113971

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

You can access GENXTAB, the program that generates cross-tabulations,

outside RQBE and gain more control over how the cross-tabulations are

generated and how they look. GENXTAB expects only three fields in the table

it is working with. If there are more than this, GENXTAB will produce an

error.

For information about working with a table that has more than three fields,

please see the following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q113525

   TITLE     : INF: How to Make GENXTAB.PRG Work with Any Table/.DBF

MORE INFORMATION

================

GENXTAB.PRG has eight parameters that can be passed to it:

   DO GENXTAB WITH <output_file>, [<output_type}], [<close_source>], ;

      [<show_thermometer>], [<row>], [<column>], [<cell>], [<row_total>]

Parameter Explanation

---------------------

1. <output_file>: a character parameter that specifies the name of the

   output table/cursor.

2. <output_type>: a logical parameter which if .T. forces the output file

   to be a cursor. If this parameter is not specified or is .F., the output

   type is the same as the source. In other words, if the source is a

   cursor, GENXTAB outputs a cursor; if the source is a table, GENXTAB

   outputs a table.

3. <close_source>: a logical parameter which if .T. or not specified will

   cause the source table/cursor (which GENXTAB used to create the cross-

   tabulation) to be closed. If this parameter is .F., the source is left

   open.

4. <show_thermometer>: a logical parameter which if .T. or not specified

   will show the thermometer when GENXTAB is working (default behavior). If

   the parameter is .F., no thermometer will show.

5. <row>: a numeric parameter that specifies the field number of the input

   table/cursor that correlates to the rows in the cross-tabulated output.

6. <column>: a numeric parameter that specifies the field number of the

   input table/cursor that correlates to the columns in the cross-tabulated

   output.

7. <cell>: a numeric parameter that specifies the field number of the input

   table/cursor that correlates to the intersection of the rows and the

   columns (the cells).

8. <row_total>: a logical field which if .T. will tell GENXTAB to generate

   an extra column to the output that is a total of all the cells in a row

   (cross totals). The default for this option is .F.

Code Example

------------

   *SET DEFAULT to the TUTORIAL subdirectory or folder, then run the

   *following code.

   SELECT cno, idate, itotal ;

      FROM invoices ;

      ORDER BY cno, idate ;

      GROUP BY cno, idate ;

      INTO CURSOR mtest

   DO sys(2004)+'GENXTAB.PRG' WITH 'xtabd', .T., .T., .F., 1, 2, 3, .T.

   BROWSE

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 crosstab cross tab

cross-tab


PRB: "Getting Started" Report Has Asterisks Instead of Numbers

Article ID: Q114003

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The Page Preview window displayed by choosing Do Query, as described on

page 84 of the "Getting Started" manual, contains asterisks (*) instead of

numbers in the MIN_YTDPUR or MAX_YTDPUR fields.

CAUSE

=====

The display width for these fields is too narrow.

RESOLUTION

==========

Increase the display width of the fields that display asterisks until the

fields are at least 1-inch wide according to the ruler across the top of

the Report Layout window.

For instructions for increasing the display width of these fields, see step

6 on page 83 of the "Getting Started" manual.

Additional reference words: 2.50b docerr stars


PRB: File GSCHAP4.QPR or GSCHAP5.QPR Does Not Exist

Article ID: Q114004

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

The file GSCHAP4.QPR, which page 38 of the "Getting Started" manual

instructs you to open, does not exist.

-or-

The file GSCHAP5.QPR, which page 54 of the "Getting Started" manual

instructs you to open, does not exist.

CAUSE

=====

These files are not shipped with FoxPro. They are created by the user while

doing the lessons in Chapter 4 (GSCHAP4.QPR) or Chapter 5 (GSCHAP5.QPR) of

the "Getting Started" manual.

RESOLUTION

==========

Follow the instructions in Chapter 4 to create GSCHAP4.QPR.

-or-

Follow the instructions in Chapter 5 to create GSCHAP5.QPR.

STATUS

======

This behavior is by design.

Additional reference words: 2.50b docerr


PRB: Hot Keys Don't Work When Selection Cursor Is in File List

Article ID: Q114121

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SYMPTOMS

========

When the selection cursor is in the file list (that is, the file list has

the focus), the hot keys do not work.

WORKAROUND

==========

Press TAB to move the selection cursor out of the file list.

STATUS

======

Microsoft is researching this problem and will post new information

here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

The hot keys (also known as access keys) are normally activated by pressing

the key that matches the highlighted letter in a button. For example, the

Add button is activated by pressing the A key. When the focus is in the

file list, however, pressing a key moves the selection cursor to a file

whose first letter matches the key pressed, not to the matching hot key

object.

NOTE: Although this behavior can be reproduced in FoxPro for Windows, this

is not a problem because hot keys are chosen in a Windows product by

pressing the ALT+<key> key combination. Therefore, even if the selection

cursor is in the file list, pressing ALT+A chooses the Add button.

Steps to Reproduce Problem

--------------------------

1. If the Catalog Manager is not displayed, choose Catalog Manager from the

   File menu.

2. If prompted to select a catalog, choose New.

   If a catalog automatically opens, choose New Catalog from the File menu.

3. Save the catalog as TEST.FPC.

4. Select the Table tab. Choose Add.

5. Select CUSTOMER.DBF from the TUTORIAL subdirectory in the main FoxPro

   directory. Choose Add.

6. Select Customer in the Table file list. The selection cursor should

   highlight the word "Customer."

7. Press the U key. Note that nothing happens (the Use button is not

   chosen).

NOTE: To work around this behavior, press the TAB key to leave the file

list, and then press the U key. This chooses the Use button as expected.

Additional reference words: 2.60 hotkey shortcut short cut


INF: Description of Catalog Manager Tools

Article ID: Q114122

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the choices listed on the Tools menu in

Catalog Manager.

This information is also found in FoxPro online Help in the "Tools" topic.

MORE INFORMATION

================

Tools Menu

----------

The Tools menu provides tools to simplify common operations on the

highlighted file.

 - AutoScreen starts the AutoScreen feature. This tool creates and

   runs a new screen that displays fields and records from the

   selected table. By default, each field appears on a separate line

   with a label to its left. Screens created with the AutoScreen

   option can be modified with either the Screen Wizard or the Screen

   Design tool.

 - AutoReport starts the AutoReport feature. This tool creates a new

   report using fields and records from the selected table. By

   default, each field appears on a separate line with a label to its

   left. Reports created with the AutoReport option can be modified

   with either the Report Wizard or the Report Writer.

 - Mail Merge opens the Mail Merge Wizard.  Use this option to create

   text files that contain data from the files open in Catalog

   Manager.

 - Settings... displays the Catalog Manager Settings so you can

   change FoxPro settings.

 - Beautify... displays the Beautification Options dialog so you can

   make cosmetic changes to your program.

 - Macros... displays the Macro Key Definition dialog so you can

   define and name a macro.

 - Filer starts the Filer Desk Accessory so you can maintain files

   and directories.

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp


INF: SQL Differences Between dBASE and FoxPro

Article ID: Q114123

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the Structured Query Language (SQL)

differences between dBASE and FoxPro. This information is also found in the

"Switching from dBASE" topic in FoxPro 2.6 Help.

To go directly to this topic in FoxPro, choose dBASE Help from the Help

menu.

MORE INFORMATION

================

There are significant differences in the implementations of SQL in

dBASE IV and FoxPro and some dBASE IV SQL commands are not supported

in FoxPro.

dBASE SQL

    To work with dBASE IV data in SQL, you create a SQL database and

    perform operations on it in a special SQL mode. Programs using SQL

    must be separate and distinct from other dBASE programs (.PRS v

    .PRG programs). The semicolon is a continuation character for

    dBASE commands and a required command termination character for

    SQL commands.

FoxPro SQL

    FoxPro supports the SQL commands CREATE CURSOR, CREATE TABLE,

    INSERT, and SELECT. SQL is fully integrated in FoxPro. You can use

    SQL commands exactly as you would use any other FoxPro commands,

    interspersing FoxPro and SQL commands if you want. The semicolon

    is a continuation character for all FoxPro and SQL commands.

    Because of the significant differences between the implementation

    of SQL in dBASE IV and in FoxPro, complex dBASE IV SQL programs

    will not run in FoxPro and will have to be rewritten.

dBASE IV SQL commands not supported in FoxPro:

   ALTER TABLE                 CLOSE <SQL cursor name>

   CREATE DATABASE             CREATE INDEX

   CREATE SYNONYM              CREATE VIEW

   DBCHECK                     DBDEFINE

   DECLARE CURSOR              DELETE

   DELETE WHERE CURRENT        DROP DATABASE

   DROP INDEX                  DROP SYNONYM

   DROP TABLE                  DROP VIEW

   FETCH                       GRANT

   LOAD DATA                   OPEN

   REVOKE                      ROLLBACK

   RUNSTATS                    SHOW DATABASE

   START DATABASE              STOP DATABASE

   UPDATE                      UNLOAD DATA

Additional reference words: 2.60 foxhelp.dbf foxhelp.hlp


INF: DISPLAY STATUS Doesn't Display Processor Type in FPM

Article ID: Q114128

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, versions 2.5b and 2.5c

--------------------------------------------------------------------

SUMMARY

=======

Page 389 of the FoxPro for Macintosh "Language Reference" incorrectly

states that the DISPLAY STATUS command can be used to display the processor

type of the current FoxPro environment. The FoxPro online Help for the

DISPLAY STATUS command also states this. However, neither the DISPLAY

STATUS nor LIST STATUS command will return processor information in FoxPro

for Macintosh.

NOTE: These commands will return processor information in FoxPro for

Windows and MS-DOS.

RESOLUTION

==========

Use the SYS(17) function to return the processor type in FoxPro for

Macintosh.

REFERENCES

==========

"Language Reference," version 2.5b, pages 388-389, 494 and 851

FoxPro for Macintosh, version 2.5b/2.5c online Help

Additional reference words: 2.50b 2.50c docerr


INF: Creating a Printer Driver Setup User Procedure

Article ID: Q114130

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

----------------------------------------------------------------------

SUMMARY

=======

The User Procedure option of the Printer Driver Setup dialog box allows

additional control over printed output without changing the GENPD.APP

printer driver program code. This article supplements the documentation on

this option found in the FoxPro for MS-DOS "Developer's Guide" by providing

an example of its usage.

MORE INFORMATION

================

The following steps demonstrate how to add a printer command to set a

right margin of 50 for use with an HP LaserJet III.

Create the User Procedure program, named MARGIN50.PRG, as follows:

   * M A R G I N 5 0 . P R G  Printer Driver Setup User Procedure

   *

   * This program uses the first parameter passed to it from PDDOCST

   * routine found in the GENPD.APP driver program

   *

   PARAMETER parm1

   RETURN parm1 + CHR(27) + "&a50M"

To link the procedure with the printer driver setup, do the following:

1. From the File menu, choose Printer Setup (or choose Layout from the

   Report menu if you are in a report).

2. Select the Printer Driver Setup check box.

3. Choose New to create a new setup or choose Edit to edit an existing

   driver setup.

4. In the Printer Driver Setup dialog box, select the options you want, and

   then select the User Procedures check box.

5. Select the Document check box in the Start section to bring up the file

   selection popup.

6. Select the MARGIN50.PRG file.

Additional reference words: escape codes pddocst pddocend pdpagest

pdpageend pdlinest pdlineend pdobjst pdobjend pdobject genpd 2.00

2.50 2.50a 2.50b 2.60


INF: Object Selection/Deselection Shortcut in Report Writer

Article ID: Q114131

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SUMMARY

=======

Double-clicking the horizontal band indicator bar selects all objects

within that specific band of the Report Writer. Conversely, clicking once

on the indicator bar cancels the selection of any objects previously

selected within the band.

More Information

================

In FoxPro for MS-DOS, to select all of the objects within the band, you

must hold down the SHIFT key while double-clicking any of the indicator

bars labeled "Title", "PgHead", "Detail", "PgFoot", or "Summary" found to

the left of the vertical separator.

In FoxPro for Windows, the SHIFT key is not used. Simply double-clicking

the gray band indicator below the objects within the band will select them.

In both versions, clicking anywhere on an unselected area within any of the

bands will cancel the selection of all objects previously selected,

regardless of their location.

Additional reference words: 2.50 2.50a 2.50b 2.60 highlight unselect

deselect pick grey choose chosen


PRB: SET SAFETY OFF Still Asks to Overwrite Existing App

Article ID: Q114132

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SYMPTOMS

========

FoxPro for Macintosh will always ask "Replace existing 'filename.app'?"

when you are rebuilding an existing application even if SAFETY is set to

OFF.

CAUSE

=====

The "Replace existing..." dialog box is an Apple common dialog box that is

not affected by the setting of SAFETY in FoxPro.

STATUS

======

This behavior is by design.

MORE INFORMATION

================

In FoxPro for Windows and MS-DOS, if SAFETY is set to OFF before an

existing application is rebuilt, FoxPro will not ask if you want to

overwrite the existing file.

Steps to Reproduce Problem

--------------------------

1. Type the following command in the FoxPro Command window:

      SET SAFETY OFF

2. Open an existing project that has already had an application (.APP)

   built from it and is residing in the current working folder.

3. Rebuild the application. You will be asked "Replace existing

   'filename.app'?"

REFERENCES

==========

"Language Reference," version 2.5, page 784

"User's Guide," version 2.5, Chapter 11

Additional reference words: 2.50b


INF: Using the Dollar Sign as a Relative Coordinate in FoxPro

Article ID: Q114134

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

 - Microsoft FoxBASE+ for MS-DOS, version 2.1

 - Microsoft FoxBASE+ for Macintosh, version 2.01

--------------------------------------------------------------------

SUMMARY

=======

The dollar sign can be used to specify the current position in

@ ... SAY/GET statements.

MORE INFORMATION

================

The dollar sign, when used in @ ... SAY/GET statements, returns the row and

column of the active write cursor. This makes it possible to position

objects relative to the initial position of the cursor.

In FoxBASE+, the write cursor defaults to line 21, and the column is set to

0. While this technique is static from the dot prompt, it is useful in

programs for positioning objects relative to an offset. Issuing the

following command will place an x at the dot of the dot prompt on the same

line, which scrolls up:

   @ $, $ say 'x'

The next command will place the x at the top-left corner of the FoxBASE

screen:

   @ $-21, $ say 'x'

In FoxPro 2.0 and 2.5 for MS-DOS and in FoxPro 2.5 for Windows, the

behavior is different, in that the write cursor is placed on the desktop

and can be used to position objects relative to the last cursor position.

In this example, the text is first positioned at row 1/column 2, and then

printed one row down and one column to the right:

   @ 1, 2 say 'x'

   @ $+1, $+1 say 'x'

Of course, as in FoxBASE, this is most useful in a program that requires

relative positioning of objects.

Alternatively, the ROW() and COL() functions can be used to return the

current cursor position, after which it can be incremented to produce

offsets from the original position as follows:

   @ 1, 2 say 'x'

   @ ROW()+1, COL()+1 say 'x'

Additional reference words: 2.00 2.50a 2.50b 2.60 2.10 replicate loop


INF: How to Print Check Boxes Instead of Y/N in FoxPro Reports

Article ID: Q114135

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

Logical fields can be represented on reports as check boxes in FoxPro for

Windows and FoxPro for Macintosh.

MORE INFORMATION

================

If a logical field is simply placed in a report, the value .F. or .T. is

printed. To improve the appearance of your report, you can enter the

picture "Y" in the Format box in the Report Expression dialog box. This

will cause all false values to print as N, while all true values will print

as Y.

While this technique is certainly adequate and has been available since

FoxBASE, FoxPro for Windows and FoxPro for Macintosh offer a graphical

solution that many people find more visually attractive. Instead of using Y

and N, check boxes are used on screens to indicate individual choices that

are either turned on or off. In the case of the report, the field label

indicates the choice and the check box for each record either contains an X

to indicate that the particular option was selected or is blank to show

that the option was not selected.

To Create This Effect in the Report Writer

------------------------------------------

1. Use the Box tool to place a small box at the appropriate location.

2. Use the Field tool to place a field on the report, and then enter and

   save the following expression in the Expression box:

      IIF(.T.,"X","")

3. From the Object menu, choose Font, and then choose Arial, 12, and Bold.

4. Drag the field over the center of the small box. Ideally, the field

   should extend slightly above and below the box equally, but the box

   should extend equally to the left and right of the field. Resize the box

   as needed to produce this effect.

5. Press CTRL+I or choose Preview from the Report menu, and verify that the

   X is centered in the box. If not, close the preview, select the field,

   and use the arrow keys to reposition the field until it is centered

   exactly.

6. Once the X is properly positioned, open the Report Expression dialog

   box, and replace the .T. in the expression with the name of the logical

   field in the database.

Additional reference words: 2.50 2.50a 2.50b 2.60 graphic extended

characters


PRB: FoxApp Allows Any Type of File to Be Entered

Article ID: Q114143

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

--------------------------------------------------------------------

SYMPTOMS

========

If a file other than an .SCX file is put into the Screen entry portion or

into the Database entry portion of FoxApp (the FoxPro Application

Generator), error messages will be displayed when you attempt to generate

the application, preventing further execution of FoxApp.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

1. Run FOXAPP.APP.

2. For the Database name, type "\TUTORIAL\CUSTOMER.DBF" (without the

   quotation marks).

3. In the "Step 2 - Create or Modify a Screen" entry box, select From File.

4. Select the All Files check box.

6. Select \TUTORIAL\CUSTOMER.SPR (or any filename other than one with an

   .SCX extension) and choose OK.

7. Generate the application.

FOXAPP.APP correctly errors out of the performance of creating the new

application. The preferred effect, however, would be to bring an error

message up when the incorrect file is selected and allow the user to modify

the entry.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 bombs fails use


INF: Creating Hot Keys for Objects Other Than Push Buttons

Article ID: Q114185

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

In the Screen Builder, hot keys (also known as access keys) can be assigned

to push buttons. However, the Screen Builder does not provide a built-in

process for assigning hot keys to other screen GET objects, such as fields,

popups, list boxes, and so on.

The information below describes how to create hot keys for GET objects

other than push buttons by using the ON KEY LABEL statement, the _CUROBJ

system variable, and the OBJNUM() function.

MORE INFORMATION

================

Overview

--------

1. Use the Line Drawing tool to simulate the underline of a character (the

   underline font style is not supported in the Screen Builder). Select the

   Line Drawing tool from the toolbox. Place a short line under the letter

   in the field description that will be used in the hot key.

2. In the SETUP snippet of the screen, place an ON KEY LABEL <ALT+key>

   _curobj = OBJNUM(object) command. This commmand instructs FoxPro to jump

   to the object when the hot key is pressed.

3. Place a POP KEY command in the CLEANUP code of screen to clear the ON

   KEY LABEL commands.

NOTES

-----

If you are using memory variables in conjunction with SCATTER and GATHER

commands in the GET fields, remember to include the "m." (without the

quotation marks) alias with the field names.

The POP KEY command clears all ON KEY LABEL settings. If you are using F1

for help, add another ON KEY LABEL command to reassign the F1 key.

Similarly, restore any other needed ON KEY LABEL statements needed.

(Alternatively, investigate using the PUSH KEY command in the SETUP snippet

to store the original ON KEY LABEL assignments).

Example Using <Foxpro_Directory>\TUTORIAL\CUSTOMER.DBF

------------------------------------------------------

 1. Assuming FoxPro is installed in a directory named FOXPROW on drive

    C, type the following commands in the Command window:

       USE C:\FOXPROW\TUTORIAL\CUSTOMER

       CREATE SCREEN test

 2. From the Screen menu, choose Quick Screen.

 3. In the Quick Screen dialog box, choose Fields.

 4. Move the CNO and COMPANY fields to the Selected Fields list box.

    Choose OK twice to return to the Screen Design window.

 5. Select the Line Drawing tool from the toolbox. Place a line under

    the letter "C" of the text object "Cno," which is located to the

    left of the GET field for CNO. (In FoxPro for MS-DOS, choose Box

    from the Screen menu. Size the box so that it appears as a line.)

 6. Select the Line Drawing tool again. Place a line under the letter

    "o" of the text object "Company," which is located to the left of

    the GET field for COMPANY. (In FoxPro for MS-DOS, choose Box from

    the Screen menu. Size the box so that it appears as a line.)

 7. From the Screen menu, choose Layout.

 8. Under Options, choose Code. (In FoxPro for MS-DOS, do not select

    anything--go directly to the next step.)

 9. Under Screen Code and Clauses, choose Screen Setup Code, and then

    choose Cleanup and Procedures. Choose OK twice. (In FoxPro for MS-

    DOS, under Screen Code, choose Setup. Then choose Cleanup and

    Procedures. Choose OK once.)

10. In the Setup snippet window, type the following:

       ON KEY LABEL ALT+C _curobj = OBJNUM(CUSTOMER.CNO)

       ON KEY LABEL ALT+O _curobj = OBJNUM(CUSTOMER.COMPANY)

11. Close the Setup snippet window, saving changes.

12. In the Cleanup snippet window, type the following:

       POP KEY  && Clear all ON KEY LABEL statements

       ON KEY LABEL F1 HELP  && Restore F1 to Help

13. Close the Setup snippet window, saving changes.

14. From the Program menu, choose Generate.

15. When prompted to save changes to the screen, choose Yes.

16. When prompted to save environment information, choose Yes.

17. In the Generate Screen dialog box, choose Generate.

18. Close the Screen Design window.

19. In the Command window, type "DO test.spr" (without the quotation

    marks).

Press ALT+O. Note that this selects the COMPANY GET field. Now press

ALT+C. This selects the CNO GET field.

Additional reference words: 2.50 2.50a 2.50b hotkey hotkeys short cut

shortcut


PRB: SET PRINTER ON and ??? Cause an Unnecessary Page Eject

Article ID: Q114186

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

--------------------------------------------------------------------

SUMMARY

=======

In FoxPro for Windows, when you combine the SET PRINTER ON command with the

??? command to output data to a printer, a blank page ejects prior to the

print job being sent.

CAUSE

=====

When the SET PRINT ON command is issued, a print job is started. When the

??? command is issued, the current print job is closed, and a new raw print

job is opened.

In FoxPro for Windows, when a print job is opened and then closed, a blank

page will be printed even if no output was sent.

WORKAROUND

==========

In FoxPro for MS-DOS, create a printer driver using the Generic printer

settings. You can then use this printer driver in FoxPro for Windows.

To do this:

1. Load FoxPro for MS-DOS. Set your resource (FOXUSER) file to the one that

   you will use for your FoxPro for Windows applications. If this is the

   resource file in your FoxPro for Windows directory and that directory is

   called FOXPROW and is located on drive C, type the following command:

      SET RESOURCE TO c:\foxprow\foxuser

   Doing this ensures that the printer driver is stored in the correct

   resource file.

2. From the File menu, choose Printer Setup.

3. Select the Printer Driver Setup check box, and then choose New.

4. In the Printers list box, scroll down to the Generic Printer driver.

5. In the Setup Name box, type "Generic" (without the quotation marks),

   and then choose OK.

6. In the Printer Driver Setups dialog box, choose either Cancel or Set. It

   does not matter for the purpose of creating the printer driver.

7. In the Printer Setup dialog box, choose OK.

8. Exit FoxPro for MS-DOS. Load FoxPro for Windows. In the Command window,

   type:

     SET PDSETUP TO "Generic"

     SET PRINTER ON

     ??? ''                              && Opens printer in 'raw' mode

     ? "I set the printer in raw mode"

     ??? CHR(27)+"(s3B"

     ? "I am printing bold"

     ??? CHR (27) + "(s0B"

     ? "Now it's not bold"

     SET PRINTER OFF

     SET PRINTER TO

For additional information, please see the following article(s) in the

Microsoft Knowledge Base:

   ARTICLE-ID: Q99542

   TITLE     : INF: Printing Reports Created w/ Question Marks in

               FP for Win

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

The following code causes a blank page to eject prior to the print job that

is sent. It seems that the page eject occurs at the location of the first

??? command (that is, if you remove the first ??? command, the page eject

occurs after the first line of text is printed).

   ** The escape codes in this program are for an HP laser printer.

   ** They are for illustration purposes only.

   SET PRINTER ON

   ??? ''                             && Opens printer in 'raw' mode

   ? "I set the printer in raw mode"

   ??? CHR(27)+"(s3B"

   ? "I am printing bold"

   ??? CHR (27) + "(s0B"

   ? "Now it's not bold"

   SET PRINTER OFF

   SET PRINTER TO

Additional reference words: 2.50 2.50a 2.50b


PRB: Tables Created in FoxPro for Mac Have Truncated Names

Article ID: Q114188

--------------------------------------------------------------------

The information in this article applies to:

- Microsoft FoxPro for Macintosh, version 2.5b

--------------------------------------------------------------------

SUMMARY

=======

If you choose New from the File menu in order to create a table, you will

be able to save the table with a standard Macintosh long filename; however,

in certain areas of FoxPro for the Macintosh, this name will be truncated.

MORE INFORMATION

================

When a table with a name longer than 10 characters is used in FoxPro for

Macintosh, the name of that table will be truncated in some instances, such

as when a table is created using the File menu or the CREATE TABLE command.

This behavior occurs because FoxPro for Macintosh displays the alias for

the table, not the table name, and the alias is limited to 10 characters.

For example, if a table is created with the command CREATE TABLE "This is

my table" (field1 C(10)), the alias name will be "This_is_my". These same

results can be achieved by choosing New from the File menu. This behavior

only affects commands that use a file's alias name.

Additional reference words: 2.50b file name shorten cut off


INF: How to Use INKEY() to Get an ASCII Code

Article ID: Q114189

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for MS-DOS, versions 2.5, 2.5a, and 2.5b

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

The INKEY() function can be used to get the American Standard Code for

Information Interchange (ASCII) value of a character typed with the

keyboard.

MORE INFORMATION

================

FoxPro for MS-DOS includes an ASCII chart containing the ASCII codes for

all characters. FoxPro for Windows and Macintosh, however, do not include

this chart. Using the INKEY() function provides a way to look up a specific

ASCII code.

To look up an ASCII code, type the following statement in the Command

window:

   x = INKEY(0)

The (0) parameter instructs INKEY() to wait indefinitely for a keystroke.

The next key you type is read by the INKEY() function. Its ASCII code is

stored to the X variable.

NOTE: If the value of X does not display on the screen, type the following

in the Command window:

   ?x

Additional reference words: 2.50 2.50a 2.50b


PRB: Can't Create Compact .EXE File Because Button Is Disabled

Article ID: Q114190

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro Distribution Kit for MS-DOS, version 2.6

--------------------------------------------------------------------

SYMPTOMS

========

You are unable to create a compact .EXE file because the Compact radio

button under the Build Executable radio button is disabled. These options

are found in the Select Build Option dialog box, which is presented when

Build is chosen from the Project Manager.

CAUSE

=====

When the Distribution Kit was installed, the Stand-Alone EXEs option was

not chosen for installation. In order to create a compact .EXE file with

FoxPro 2.6 for MS-DOS, you must select the Stand-Alone EXE option during

installation.

RESOLUTION

==========

Reinstall the Distribution Kit; make sure to select the Stand-Alone EXE

option.

Additional reference words: 2.60 dimmed gray grey unavailable


INF: Description of the Screen Wizard

Article ID: Q114192

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the Screen Wizard and lists the steps to

create a screen.

This information is also found in FoxPro online Help in the "Screen Wizard"

topic.

MORE INFORMATION

================

The Screen Wizard creates a FoxPro screen you can use to view and modify

the information in your tables. The screen includes a series of buttons for

displaying, editing, and printing records. You can choose from three

different styles of screens, and have your choice of buttons with text

labels, such as "Next" or "Top," or buttons with pictures that represent

each button's function.

NOTE: If you want your screens to work in a multi-user environment, you

need to make sure that you set the EXCLUSIVE option to OFF. You can change

this setting from the Catalog Manager by choosing the Settings command from

the Tools menu. If you are not using the Catalog Manager, type SET

EXCLUSIVE OFF in the Command window.

Screen Wizard Steps

-------------------

Step 1 of 5:  Selecting a Table

-------------------------------

NOTE: If you start the wizard from the Catalog Manager, this step is

skipped because you have already selected a table to work with.

Select a table from the list (which shows all the tables in use before you

started the wizard). If no names are displayed, or you want to use a

different table, choose the Open... button and use the Open dialog to

select a table.

Step 2 of 5:  Selecting Fields to Include in Your Screen

--------------------------------------------------------

To select fields from a table to use in your screen, you can:

 - Double-click each field name in the Available Fields box.

 - Select each field name and choose the Add button.

 - Choose the Add All button to use all the fields.

If you add a field you don't need, select it and choose the Remove button.

Step 3 of 5:  Setting the Sort Order

------------------------------------

NOTE: This step will be skipped if you are basing your screen on a query.

To set the order in which records will be displayed in the screen, select

up to three fields from the Available Fields list. The selected fields are

combined to create an index tag.

For example, if you choose State and then City, when you view your records

in the finished screen, they will be sorted by state, and then by city

within each state.

Choose the Ascending option to view records from the beginning of the

alphabet, the lowest number, or the earliest date; choose the Descending

option to view records from the end of the alphabet, the highest number, or

the latest date.

Step 4 of 5:  Selecting a Style for the Screen and Its Buttons

--------------------------------------------------------------

Select a style option for the screen from the list of styles.

FoxPro for Windows Only: Then, select the type of navigation and editing

buttons (text or pictures) you want to appear along the bottom of the

screen.

Step 5 of 5:  Naming the Screen and Saving, Running, or Modifying It

--------------------------------------------------------------------

Enter the title you want to appear at the top of your new screen, then

select one of the three options, and choose the Finish button:

 - Save Screen For Later Use creates an .SCX file that you can later

   use to generate and then run the screen.

 - Save And Run Screen creates and generates the screen, and displays

   it so you can view, modify, or print records.

 - Modify Screen With Design Tool displays the Save As dialog so you

   can give the table a name, then displays the screen in the Screen

   Design window, so you can modify it as needed.

Wizard-Generated Screens

------------------------

The screens created by the wizard include the screen title and the fields

you chose to include.

Wizard-Generated Screen Buttons

-------------------------------

The buttons at the bottom of the screen work as follows:

Button      Function

------      --------

Top         Displays the first record in the table.

Prev        Displays the previous record in the table.

Locate      Displays a Browse window so you can search for the record

            you want.

Next        Displays the next record in the table.

End         Displays the last record in the table.

Add         Adds a new record to the table. Choose Save when you are

            done entering the record, or Cancel to discard the new

            record.

            Not available if you are displaying a read-only table or

            query.

            Not available if you are using a query which includes

            tables related on an expression field.

Edit        Allows you to make changes to the record currently

            displayed. Choose Save when you are done editing, or

            Cancel to discard the changes.

            Not available if you are displaying a read-only table or

            query.

Delete      Deletes the current record.

Save        Saves a new record, or changes made during editing.

            Not available if you are displaying a read-only table or

            query.

Cancel      Cancels a new record, or changes made during editing.

            Not available if you are displaying a read-only table or

            query.

Print       Displays a dialog box so you can print the current record,

            or all the records in the table. The wizard creates a

            report with the same name as the screen. You can preview

            the report, or send it directly to the printer.

Close       Closes the screen.

Additional reference words: 2.60 foxhelp.hlp foxhelp.dbf


INF: Description of the Multi-Column Report Wizard

Article ID: Q114193

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the Multi-Column Report Wizard and how

to use it to create a report with up to three columns.

This information is also found in FoxPro online Help in the "Multi-Column

Report Wizard" topic.

MORE INFORMATION

================

The Multi-Column Report Wizard uses a table you specify to set up a report

with one, two, or three columns of data per page. You can choose the report

style and layout.

NOTE: This wizard is available only if you are using Microsoft FoxPro for

Windows.

MULTI-COLUMN REPORT WIZARD STEPS

--------------------------------

Step 1 of 7: Selecting a table

------------------------------

NOTE: This step is skipped if you start the wizard from the Catalog

Manager, and a table is already in use.

First select the table you want to use for your report. The list contains

the tables that were open when you started the wizard. If you want to use a

table that is not currently open, choose the Open... button.

Step 2 of 7: Selecting a Style for the Report

---------------------------------------------

Select one of the available styles for your report. The graphic on the

wizard screen changes to show you what the report will look like.

Step 3 of 7: Setting the Number of Columns

-------------------------------------------

Under Number of columns for each page, select the 1 column, 2 columns, or 3

columns option to control how many columns are printed on each page of your

report.

Step 4 of 7: Selecting the Fields to Include in the Report

----------------------------------------------------------

Select the fields you want to include in your report. The list of Available

Fields shows all the fields in the table you selected.

To select fields you can:

 - Double-click each field name in the Available Fields list.

 - Select each field name and choose the Add button.

 - Choose the Add All button to use all the table fields.

If you add a field you don't need, select it and choose the Remove button.

Step 5 of 7: Selecting a Layout for the Report

----------------------------------------------

Select Horizontal if you want the field names to appear as titles above the

columns on the page; select Vertical if you want the field names to run

down the left side of each column in the report.

If you need to further adjust the layout of the report, choose the Print

Setup... button. This displays the Print Setup dialog, where you can select

a printer, set paper size and orientation, and set printer options.

Step 6 of 7: Setting the Sort Order for the Report

--------------------------------------------------

NOTE: This step will be skipped if you are basing your report on a query.

Select up to three fields from the Available Fields by which to sort the

records in your report. The selected fields are combined to create an index

tag.

For example, if you choose State and then City, the records in the finished

report will be sorted by state, and then by city within each state.

Choose the Ascending option to sort records from the beginning of the

alphabet, the lowest number, or the earliest date; choose the Descending

option to sort records from the end of the alphabet, the highest number, or

the latest date.

Step 7 of 7: Naming, Previewing, Saving, Modifying, and Printing the

             Report

--------------------------------------------------------------------

First, enter the title you want to appear at the top of your new report.

Then, choose the Preview... button to see your report in a preview window.

If you are satisfied with the results, select one of the following options,

and then choose the Finish button.

 - Save Report for Later Use creates a Microsoft FoxPro report (.FRX)

   file you can later use to run your report.

 - Save and Print Report displays the Save As dialog so you can save

   the report, then displays the Print dialog so you can select print

   options and send it to a printer.

 - Modify Report with Design Tool saves the report and displays it in

   the Report Layout window, so you can modify it as needed.

Additional reference words: 2.60 foxhelp.hlp foxhelp.dbf multicolumn


PRB: dBASE Report with Similar Name Overwrites FoxPro Report

Article ID: Q114196

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.6

----------------------------------------------------------------------

SYMPTOMS

========

If you have two reports in Catalog Manager, one created in dBASE and

another created in FoxPro, that have similar filenames (the first eight

characters are identical), the dBASE-style report overwrites the FoxPro-

style report when it is transported the first time it is printed or

modified.

After the dBASE-style report is transported, both entries will use the same

.FRX file.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro version 2.6 for

Windows and FoxPro version 2.6 for MS-DOS. We are researching this problem

and will post new information here in the Microsoft Knowledge Base as it

becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

This example uses the SAMPLES catalog file provided with dBASE.

 1. If the Catalog Manager is not displayed, choose Catalog Manager

    from the File menu.

 2. Open the SAMPLES catalog file.

 3. Choose the Report tab area. Select INVENTRY. Note that the Data

    Source is CONTENTS.DBF.

 4. Choose New. From the Select A Table Or Query popup, select

    NAMES.DBF. Choose the Report Wizard button.

 5. Select Report Wizard, and then choose Next.

 6. Choose Next when prompted to select a style.

 7. Move the LASTNAME and FIRSTNAME fields from the Available Fields

    list box to the Selected Fields list box. Choose Finish.

 8. When prompted to enter a title for the report, choose Finish.

 9. Save the report as INVENTRY.FRX.

10. FoxPro returns you to Catalog Manager. Select the original

    INVENTRY report (the report that lists CONTENTS.DBF as its

    source).

11. Choose Modify. You are prompted with the following message:

       File INVENTRY.FRX already exists. Overwrite it?

    Choose Yes.

12. When the report is finished transporting, close the Report Layout

    window.

After returning to Catalog Manager, note that there are still two entries

for INVENTRY, each listing a different data source. However, choosing

modify for either report modifies the INVENTRY.FRX file, which is based on

CONTENTS.DBF.

Additional reference words: 2.60 replace


INF: How to Add Icons After Distributed Setup Program Is Run

Article ID: Q114228

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

--------------------------------------------------------------------

SUMMARY

=======

More icons can be added to your application group after the Setup program

is run for a distributed application created with the FoxPro for Windows

Distribution Kit. You can add these icons by using dynamic data exchange

(DDE) to send commands to the Windows Program Manager.

MORE INFORMATION

================

After running the Setup program for your distributed application, users may

want to add other icons to their program group for help or README files. By

using DDE to send commands to the Windows Program Manager, you can create a

new program group or add items to existing program groups.

The following example shows how to initiate a DDE channel to the Windows

Program Manager, create a program group called "My Application", and add an

item with a particular icon (in this case the Help icon that comes with

FoxPro).

   PARAMETERS iChannel

   iChannel = DDEInitiate("Progman","Progman")

   = DDEExecute(iChannel, "[CreateGroup(My Application)]")

   = DDEExecute(iChannel,;

    "[Additem(c:\myapp\readme.txt,tty,;

    c:\foxprow\goodies\bitmaps\fox\help.ico,0)]")

   = DDETerminate(iChannel)

This program can then be compiled into an .EXE file. At the end of the

Setup program, you can tell your users to run this .EXE file after

installing the application.

REFERENCES

==========

Microsoft Windows Software Development Kit (SDK) "Programmer's Reference

Volume 1: Overview," version 3.1, Chapter 17.2, "Command-String Interface"

FoxPro for Windows "Developer's Guide," version 2.5, Chapter 12, "Dynamic

Data Exchange (DDE)"

FoxPro Distribution Kit for Windows "User's Guide," version 2.5, Chapter 4,

"Creating Distribution Disks"

Additional reference words: 2.50


PRB: "Syntax Err/Missing Operand" w/ .DBF Created in Other App

Article ID: Q114229

--------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.5

 - Microsoft FoxPro for MS-DOS, version 2.5

--------------------------------------------------------------------

SYMPTOMS

========

If FoxPro opens a .DBF file that has invalid field names, a "Syntax Error"

or "Missing Operand" error message will appear when you try to print or

preview reports based on this table. A screen based on this table will

generate the error message "Unrecognized phrase/keyword in command."

CAUSE

=====

In FoxPro, legal characters for field names are A-Z, 0-9, and underscore

(_). No other characters can be entered directly into a table setup.

However, when you open a .DBF file that was created in an application that

allows characters such as $, ?, and period (.), FoxPro will use the table

with the illegal characters. However, any screens or reports based on this

table will produce an error.

RESOLUTION

==========

To correct this problem, either go into the database setup and change the

field names to valid FoxPro names, or change the field names in the

application in which the .DBF file was created.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

 1. In Microsoft Excel, create a spreadsheet with these field names:

       First.Name, Last.Name, Dollar$

 2. Enter a few lines of test data.

 3. From the File menu, choose Save As.

 4. In the Save As dialog box, select dBASE IV from the Save File As Type

    box. Give the file a name with a .DBF extension.

 5. Start FoxPro and choose Open from the File menu.

 6. Under List Files Of Type, select Table/DBF, and open the file created

    in Microsoft Excel. Note that in FoxPro, the table setup will have the

    field names FIRST.NAME, LAST.NAME, and DOLLAR$.

 7. From the File menu, choose New.

 8. Select the Report button and choose New.

 9. From the Report menu, choose Quick Report, and then choose OK.

10. From the Report menu, choose Page Preview. You will get one of these

   error messages: "Syntax Error" or "Missing Operand."

Additional reference words: 2.50 errmsg err msg


INF: How to Programmatically Call the Wizards Dialog Box

Article ID: Q114260

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SUMMARY

=======

To programmatically run the Wizards dialog box, which lets the user pick

any of the available wizards, issue the following command in the Command

window or in a program:

   DO <FoxPro_directory>\WIZARDS\WIZARD.APP

MORE INFORMATION

================

To display this dialog box in FoxPro 2.6 for Windows and MS-DOS using

the menus, choose Wizards from the Run menu, and then choose All.

In FoxPro 2.5b for Macintosh, choose Wizards from the Run menu.

Additional reference words: 2.50b 2.60


PRB: "Overwrite Invalid FoxUser File..." Each Time Fox Starts

Article ID: Q114269

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Every time FoxPro starts, it displays the following error message:

   Overwrite invalid FoxUser file with a new empty one? Yes/No

CAUSE

=====

The configuration file contains a RESOURCE = line with a path that points

to a nonexistent directory or folder.

RESOLUTION

==========

Change the path in the RESOURCE = line so that it points to a valid

directory or folder.

MORE INFORMATION

================

The configuration file is usually CONFIG.FPW in FoxPro for Windows,

CONFIG.FP in FoxPro for MS-DOS, and CONFIG.FPM in FoxPro for

Macintosh.

Sample Situation That May Cause This Error When Upgrading FoxPro

----------------------------------------------------------------

This situation may occur when you are using the configuration file from a

previous installation of FoxPro with a new FoxPro installation. For

example, FoxPro 2.5 for Windows installs to a directory named FOXPROW by

default. FoxPro 2.6 for Windows installs to a directory named FPW26 by

default.

If the following situation occurs, the RESOURCE = line will point to an

invalid directory:

1. FoxPro 2.5 for Windows exists in a directory named FOXPROW. The

   CONFIG.FPW file in FOXPROW contains a "RESOURCE=C:\FOXPROW\FOXUSER.DBF"

   line.

2. FoxPro 2.6 for Windows is installed in a directory named FPW26.

3. The CONFIG.FPW file in FOXPROW is copied to FPW26.

4. The FOXPROW directory is deleted.

At this point, the CONFIG.FPW file in FOXPROW contains a RESOURCE = line

pointing to C:\FOXPROW, which doesn't exist.

Additional reference words: 2.00 2.50 2.50a 2.50b 2.60 config.fp(w) errmsg

err msg


PRFOX: .DBF-Style Help Causes Empty Window and Error Message

Article ID: Q114271

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, versions 2.5, 2.5a, 2.5b, and 2.6

 - Microsoft FoxPro for Macintosh, version 2.5b

----------------------------------------------------------------------

SYMPTOMS

========

Calling a .DBF-style Help file opens an empty Help window, then

displays one of the following error messages:

   FoxPro for Windows

   ------------------

      Cannot open Help file.

   FoxPro for Macintosh

   --------------------

      Microsoft Help - This file is not a Microsoft Help file.

CAUSE

=====

The Help file was opened with the USE command before being set as the Help

file.

STATUS

======

Microsoft has confirmed this to be a problem in FoxPro versions 2.5, 2.5a,

and 2.5b for Windows and in FoxPro version 2.5b for Macintosh. We are

researching this problem and will post new information here in the

Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

================

Steps to Reproduce Problem

--------------------------

Assuming the default directory is set to the main FoxPro directory (usually

FOXPROW in FoxPro for Windows and "FoxPro/Mac" in FoxPro for Macintosh),

type the following commands in the Command window:

   SET HELP OFF

   USE foxhelp.dbf

   SET HELP TO foxhelp.dbf

   SET HELP ON

   HELP

Additional reference words: 2.50 2.50a 2.50b 2.60 errmsg err msg


INF: Description of the Table Wizard

Article ID: Q114290

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The information below describes the Table Wizard and explains how to

create a table.

This information is also found in FoxPro online Help in the "Table

Wizard" topic.

MORE INFORMATION

================

The Table Wizard helps you set up a new Microsoft FoxPro table. Just

choose the fields you want for your table from the sample tables

provided. These samples are already set up with typical data types and

field lengths: You can use them as they are, or rename them and

change the data types and field lengths as needed.

Table Wizard Steps

------------------

Step 1 of 3: Selecting Fields to Include in Your Table

------------------------------------------------------

First, select a sample table from the Tables list. The fields in the

sample table are shown in the Fields list; select the fields you want

to use in your table. Use the arrow buttons to add or remove fields in

the Selected Fields list. You can combine fields from several

different tables if necessary.

When you select a field, the status bar at the bottom of the screen

shows the field's data type and length. For example:

   Last Name:  [C(50)]

If you want to change the name, data type, or length of a field,

select it in the Selected Fields list, and choose the Modify Field...

button. This displays the Modify Field dialog, where you can modify

the characteristics of the field.

Step 2 of 3: Setting the Sort Order

-----------------------------------

Select up to three fields from the Available Fields list to set the

sort order for the records in your new table. The selected fields are

combined to create an index tag for the table.

For example, if you choose State and then City, the records in your

table will be sorted by state, and then by city within each state.

Choose the Ascending option to sort records from the beginning of the

alphabet, the lowest number, or the earliest date; choose the

Descending option to sort records from the end of the alphabet, the

highest number, or the latest date.

Step 3 of 3: Saving, Browsing, or Modifying Your Table

-------------------------------------------------------

Select one of the four options and choose the Finish button:

 - Save Table displays the Save As dialog so you can give the table a

   name and save it as a .DBF file.

 - Save And Browse For Data Entry saves the table and displays it in a

   Browse window so you can view, enter, and edit records.

 - Save And Create An AutoScreen For Data Entry saves the table and

   automatically creates a wizard-generated data-entry screen so you

   can view, enter, and edit records.

 - Modify Structure Of Table displays the Save As dialog so you can

   give the table a name, then displays the Table Structure dialog,

   where you can modify the table as needed.

Additional reference words: 2.60 foxhelp.hlp foxhelp.dbf


INF: What Catalog Manager's dBASE Program Check Box Does

Article ID: Q114291

----------------------------------------------------------------------

The information in this article applies to:

 - Microsoft FoxPro for Windows, version 2.6

 - Microsoft FoxPro for MS-DOS, version 2.6

----------------------------------------------------------------------

SUMMARY

=======

The dBASE Program check box is located in the bottom-right corner of the

Catalog Manager's Program tab area.

Selecting it SETs COMPATIBLE ON and removes the FoxPro system menu (SYSMENU

is set OFF) to more closely emulate the dBASE environment.

NOTE: Selecting the dBASE Program check box does not affect all program

files--only the one currently selected in the file list.

MORE INFORMATION

================

Selecting the dBASE Program check box is equivalent to issuing either of

the following (functionally identical) commands:

 - SET COMPATIBLE DB4

   -or-

 - SET COMPATIBLE ON

Additional reference words: 2.60 catman checkbox